mcpField
P
pulse-subregistry

pulse-subregistry

Local
github.com/pulsemcpDeveloper Tools81Updated 8w ago

About pulse-subregistry

Pulse Subregistry is an MCP server that gives MCP clients access to the PulseMCP Sub-Registry for browsing and discovering MCP servers. Built and maintained by PulseMCP, it requires a PulseMCP API key and truncates long fields to limit context size.

Key features

  1. 01Search servers by name or title
  2. 02View versions, descriptions and repository links
  3. 03Cursor-based pagination of results
  4. 04Automatic truncation with on-demand full field expansion

Use cases

  1. 01Finding MCP servers related to a specific platform such as GitHub
  2. 02Reviewing details and specific versions of a server

MCP support

This is an MCP server that exposes list_servers and get_server tools to MCP clients for querying server information from the PulseMCP Sub-Registry.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"com-pulsemcp-pulse-subregistry": {
"command": "npx",
"args": [
"-y",
"@pulsemcp/pulse-subregistry"
],
"env": {
"PULSEMCP_SUBREGISTRY_API_KEY": "<PULSEMCP_SUBREGISTRY_API_KEY>",
"PULSEMCP_SUBREGISTRY_TENANT_ID": "<PULSEMCP_SUBREGISTRY_TENANT_ID>",
"SHOW_ADMIN_TOOLS": "<SHOW_ADMIN_TOOLS>"
}
}
}
}
Run commandnpx -y @pulsemcp/pulse-subregistry
Environment variables to set
PULSEMCP_SUBREGISTRY_API_KEYSecretPulseMCP API key for authentication.
PULSEMCP_SUBREGISTRY_TENANT_IDTenant identifier for multi-tenant use.
SHOW_ADMIN_TOOLSEnable admin tools including switch_tenant_id.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@pulsemcp/pulse-subregistry0.0.8

Tools

2

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
limitnumberNoMaximum number of servers to return (1-100). Default: 30. Use pagination with cursor for more results.
cursorstringNoPagination cursor from a previous response. Use this to get the next page of results when nextCursor is returned.
searchstringNoSearch term to filter servers. Searches server names and titles. Example: "github", "slack".
latest_onlybooleanNoIf true (default), only returns the latest version of each server. Set to false to include all versions.
expand_fieldsarrayNoArray of dot-notation paths to show in full (not truncated). By default, strings longer than 200 characters are truncated. Use this to expand specific fields. Examples: ["servers[].server.description", "servers[].server.readme"].
updated_sincestringNoISO 8601 timestamp to filter servers updated after this date. Example: "2024-01-01T00:00:00Z". Note: when this parameter is provided, results may include servers with any lifecycle status (including deleted) to support ETL sync workflows.

Details

From the project README

Pulse Sub-Registry MCP Server

Haven't heard about MCP yet? The easiest way to keep up-to-date is to read our weekly newsletter at PulseMCP.


This is an MCP (Model Context Protocol) Server that provides access to the PulseMCP Sub-Registry, allowing you to browse and discover MCP servers.

This project is built and maintained by PulseMCP.

Table of Contents

Highlights

Browse MCP servers: Search and discover MCP servers from the PulseMCP Sub-Registry.

Get server details: Retrieve detailed information about specific servers including versions, descriptions, and repository links.

Pagination support: Handle large result sets with cursor-based pagination.

Capabilities

This server is built and tested on macOS with Claude Desktop. It should work with other MCP clients as well.

Tool NameDescription
list_serversBrowse MCP servers from the Sub-Registry with optional search and pagination.
get_serverGet detailed information about a specific MCP server by name and version.
switch_tenant_id(Admin) Switch the active tenant ID at runtime. Requires SHOW_ADMIN_TOOLS=true to be visible.

Usage Tips

  • Use list_servers to browse available MCP servers. You can search by name or title.
  • Use pagination with the cursor parameter when there are many results.
  • Use get_server to get detailed information about a specific server.
  • The version parameter in get_server defaults to "latest" but you can specify a specific version.

Auto-Truncation

To reduce context size, responses are automatically truncated:

  • Strings longer than 200 characters are replaced with a truncation message
  • Deep objects (at depth 6+) larger than 500 characters are replaced with a truncation message

Truncated values show the exact expand_fields path needed to view the full content:

{
  "description": "[TRUNCATED - use expand_fields: [\"servers[].server.description\"] to see full content]"
}

Use the expand_fields parameter to view full content for specific fields:

expand_fields: ["servers[].server.description", "servers[].server.readme"]

Examples

Browsing Servers

User: "What MCP servers are available for GitHub?"
Assistant: I'll search for GitHub-related MCP servers.

[Uses list_servers tool with search: "github"]

I found several GitHub-related MCP servers:
- @anthropic/mcp-server-github - Official GitHub integration
- github-issues-server - Manage GitHub issues
...

Getting Server Details

User: "Tell me more about the filesystem MCP server"
Assistant: I'll get the details for that server.

[Uses get_server tool with server_name: "@anthropic/mcp-server-filesystem"]

The filesystem MCP server (version 1.0.0) provides:
- Description: Access and manage local filesystem
- Repository: https://github.com/anthropics/mcp-servers
...

Pagination

User: "Show me more servers"
Assistant: I'll get the next page of results.

[Uses list_servers tool with cursor from previous response]

Here are more servers...

Setup

Prerequisites

  • Node.js (recommended: v18 or higher)
  • A PulseMCP API key (get one at https://www.pulsemcp.com/)
  • Claude Desktop application (for local setup)

Environment Variables

Environment VariableDescriptionRequiredDefault
PULSEMCP_SUBREGISTRY_API_KEYYour PulseMCP API keyYesN/A
PULSEMCP_SUBREGISTRY_TENANT_IDYour tenant identifier (for multi-tenant use)NoN/A
SHOW_ADMIN_TOOLSSet to true to enable admin tools (switch_tenant_id)Nofalse

Claude Desktop

Local Setup

You'll need Node.js installed on your machine to run the local version.

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

Add this configuration to your Claude Desktop config file:

{
  "mcpServers": {
    "pulse-subregistry": {
      "command": "npx",
      "args": ["-y", "@pulsemcp/pulse-subregistry"],
      "env": {
        "PULSEMCP_SUBREGISTRY_API_KEY": "your-api-key-here"
      }
    }
  }
}

To set up the local version:

  1. Clone or download the repository
  2. Navigate to the local directory: cd pulse-subregistry/local
  3. Install dependencies: npm install
  4. Build the project: npm run build
  5. Update your Claude Desktop config with the correct path
  6. Restart Claude Desktop

Development

Project Structure

pulse-subregistry/
├── local/                 # Local server implementation
│   ├── src/
│   │   └── index.ts      # Main entry point
│   ├── build/            # Compiled output
│   └── package.json
├── shared/               # Shared business logic
│   ├── src/
│   │   ├── server.ts     # Server factory
│   │   ├── tools.ts      # Tool registration
│   │   ├── tools/        # Individual tools
│   │   ├── client.ts     # API client
│   │   └── types.ts      # Type definitions
│   └── package.json
└── tests/                # Test suite
    ├── functional/       # Unit tests
    └── integration/      # Integration tests

Running in Development Mode

# Build shared module first
cd shared
npm install
npm run build

# Run local server in development
cd ../local
npm install
npm run dev

Testing

# Install all dependencies
npm run install-all

# Run unit tests
npm test

# Run integration tests
npm run test:integration

# Run all tests
npm run test:all

Linting and Formatting

# Check for linting issues
npm run lint

# Auto-fix linting issues
npm run lint:fix

# Format all code
npm run format

Tools Reference

list_servers

Browse MCP servers from the PulseMCP Sub-Registry.

Parameters:

  • limit (number, optional): Maximum number of servers to return (1-100). Default: 30.
  • cursor (string, optional): Pagination cursor from a previous response.
  • search (string, optional): Search term to filter servers by name or title.
  • updated_since (string, optional): ISO 8601 timestamp to filter servers updated after this date. Example: "2024-01-01T00:00:00Z".
  • latest_only (boolean, optional): If true (default), only returns the latest version of each server. Set to false to include all versions.
  • expand_fields (array, optional): Array of dot-notation paths to show in full (not truncated). By default, long strings are truncated. Examples: ["servers[].server.description", "servers[].server.readme"].
get_server

Get detailed information about a specific MCP server.

Parameters:

  • server_name (string, required): The name of the server to look up.
  • version (string, optional): Specific version to retrieve. Default: "latest".
  • expand_fields (array, optional): Array of dot-notation paths to show in full (not truncated). Examples: ["server.description", "server.readme"].
switch_tenant_id

Switch the active tenant ID used for subsequent API requests. This is an admin tool that is hidden by default. Set SHOW_ADMIN_TOOLS=true to enable it.

Parameters:

  • tenant_id (string, required): The tenant ID to switch to. Pass an empty string to clear the tenant ID and revert to the default.

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.