pulsemcp server

Local 2025-08-31 23:19:17 0

PulseMCP Server is a TypeScript-based MCP server that implements a simple notes system, allowing users to create, access, and summarize text notes through Model Context Protocol with URI-based resource management and LLM summarization prompts.


A Model Context Protocol (MCP) server that provides tools for discovering and exploring MCP servers and integrations through the PulseMCP API.

Features

  • List available MCP servers with filtering and pagination
  • Search for specific MCP servers by name or functionality
  • Filter servers by integration types
  • List all available integrations
  • Full TypeScript support

Installation

Installing in MCP Clients

Add this to your MCP client configuration and adapt based on your Client's preferences. For example:

{
  "mcpServers": {
    "pulsemcp": {
      "command": "npx",
      "args": ["-y", "pulsemcp-server"]
    }
  }
}
  1. Clone the repository:
git clone <repository-url>
cd pulsemcp-server
  1. Install dependencies:
npm install
  1. Build the project:
npm run build

Usage

Running the Server

The server can be run directly after building:

./build/index.js

Or through npm:

npm start

Development

To watch for changes during development:

npm run watch

To inspect the server's MCP implementation:

npm run inspector

Available Tools

list_servers

Lists MCP servers with optional filtering and pagination.

Parameters:

  • query (optional): Search term to filter servers
  • integrations (optional): Array of integration slugs to filter by
  • count_per_page (optional): Number of results per page (maximum: 5000)
  • offset (optional): Number of results to skip for pagination

Example:

{
  "query": "toolhouse",
  "integrations": ["github"],
  "count_per_page": 10,
  "offset": 0
}

list_integrations

Lists all available integrations. This tool takes no parameters.

Response Format

Both tools return JSON responses with the following structure:

list_servers Response

{
  "servers": [
    {
      "name": "Server Name",
      "url": "https://example.com",
      "external_url": "https://external-link.com",
      "short_description": "Server description",
      "source_code_url": "https://github.com/example/repo",
      "github_stars": 123,
      "package_registry": "npm",
      "package_name": "package-name",
      "package_download_count": 1000,
      "integrations": [
        {
          "name": "Integration Name",
          "slug": "integration-slug",
          "url": "https://integration-url.com"
        }
      ]
    }
  ],
  "total_count": 1,
  "next": null
}

list_integrations Response

{
  "integrations": [
    {
      "name": "Integration Name",
      "slug": "integration-slug",
      "url": "https://integration-url.com"
    }
  ]
}

Error Handling

The server includes robust error handling for:

  • Invalid parameters
  • API connection issues
  • Rate limiting
  • Authentication errors

Errors are returned in a standardized format with appropriate error codes and messages.

Development

Project Structure

pulsemcp-server/
├── src/
│   └── index.ts    # Main server implementation
├── build/          # Compiled JavaScript
├── package.json    # Project configuration
└── tsconfig.json   # TypeScript configuration

Dependencies

  • @modelcontextprotocol/sdk: ^0.6.0
  • axios: ^1.7.9
  • TypeScript: ^5.3.3

License

Read LICENSE.MD

Contributing

Open a PR - be nice and you will be rewarded!

[
  {
    "description": "List MCP servers with optional filtering",
    "inputSchema": {
      "properties": {
        "count_per_page": {
          "description": "Number of results per page (maximum: 5000)",
          "maximum": 5000,
          "type": "number"
        },
        "integrations": {
          "description": "Filter by integration slugs",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "offset": {
          "description": "Number of results to skip for pagination",
          "type": "number"
        },
        "query": {
          "description": "Search term to filter servers",
          "type": "string"
        }
      },
      "type": "object"
    },
    "name": "list_servers"
  },
  {
    "description": "List all available integrations",
    "inputSchema": {
      "properties": {},
      "type": "object"
    },
    "name": "list_integrations"
  }
]