PulseMCP Server
by orliesaurus
# 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!