PulseMCP Server

# PulseMCP Server 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: ```json { "mcpServers": { "pulsemcp": { "command": "npx", "args": ["-y", "pulsemcp-server"] } } } ``` 1. Clone the repository: ```bash git clone <repository-url> cd pulsemcp-server ``` 2. Install dependencies: ```bash npm install ``` 3. Build the project: ```bash npm run build ``` ## Usage ### Running the Server The server can be run directly after building: ```bash ./build/index.js ``` Or through npm: ```bash npm start ``` ### Development To watch for changes during development: ```bash npm run watch ``` To inspect the server's MCP implementation: ```bash 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: ```json { "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 ```json { "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 ```json { "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!