Skip to main content
Glama

mcp-registry-mcp

MCP server for managing MCP server registries — health checks, duplicate detection, and configuration portability.

52% of remote MCP servers are dead. Only 9% are fully healthy. This server gives you a central registry to track what you have, what works, and what overlaps — before MCP sprawl becomes the microservices sprawl of 2018.

Install

npx mcp-registry-mcp

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "mcp-registry": {
      "command": "npx",
      "args": ["mcp-registry-mcp"]
    }
  }
}

From source

git clone https://github.com/mdfifty50-boop/mcp-registry-mcp.git
cd mcp-registry-mcp
npm install
node src/index.js

Related MCP server: mcp-registry

Tools

register_server

Register an MCP server with metadata.

Param

Type

Default

Description

name

string

required

Server name (e.g. "filesystem-mcp")

url

string

required

Server URL or package name

transport

string

"stdio"

"stdio", "sse", or "streamable-http"

description

string

""

What this server does

org_id

string

"default"

Organization for multi-tenant grouping

tools

string[]

[]

Tool names this server provides

health_check

Check server health. Probes HTTP endpoints, measures latency, tracks uptime over time.

Param

Type

Description

server_id

string

Server ID from register_server

Returns: health status, latency, uptime percentage, last 5 check results.

find_duplicates

Find servers with overlapping tool definitions using Jaccard similarity on tool name sets.

Param

Type

Default

Description

org_id

string

"default"

Organization to scan

Returns pairs of overlapping servers with similarity scores and verdicts: likely_duplicate (>80%), significant_overlap (>50%), or minor_overlap (>30%).

export_config

Export portable MCP configuration for different clients.

Param

Type

Default

Description

server_ids

string[]

required

Server IDs to include

target_client

string

"claude_desktop"

"claude_desktop", "cursor", "vscode", or "generic"

Returns a ready-to-paste JSON config block with client-specific instructions.

get_inventory

List all registered servers with health and usage stats.

Param

Type

Default

Description

org_id

string

"default"

Organization to list ("all" for everything)

Returns: server list with health status, uptime percentage, tool count, and summary stats.

recommend_consolidation

Suggest merging duplicate or overlapping servers to reduce sprawl.

Param

Type

Default

Description

org_id

string

"default"

Organization to analyze

Returns: recommendations to keep/retire specific servers with similarity scores and reasoning.

check_before_install

Pre-install health, security, and duplicate check for a server you are considering adding.

Param

Type

Default

Description

server_url

string

required

URL or package name to check

transport

string

"streamable-http"

Transport to probe with

org_id

string

"default"

Check duplicates against this org

Returns: reachability, latency, TLS status, CORS headers, duplicate risk, and install recommendation (OK / CAUTION / DO NOT INSTALL).

Resources

URI

Description

mcp-registry://servers

All registered servers with current health status

Usage Pattern

1. register_server — add each MCP server you use
2. health_check — verify each server is alive
3. find_duplicates — spot overlapping tools
4. recommend_consolidation — get merge suggestions
5. export_config — generate config for your client
6. check_before_install — vet new servers before adding

Tests

npm test

License

MIT

Available Tools

7 tools
check_before_installB

Pre-install report: health probe, security flags, estimated token cost, and duplicate check against your registry.

ParametersJSON Schema
NameRequiredDescriptionDefault
server_urlYesURL or npm package name to check
transportNoTransport to probe withstreamable-http
org_idNoCheck for duplicates against this orgdefault

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It mentions the tool performs a probe and checks, but does not specify if it is read-only, has side effects, requires authentication, or any rate limits. The description is insufficient for a pre-install check that likely queries external resources.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is concise and front-loaded with the key outputs. Every word adds value, no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 3 parameters (all described in schema) and no output schema, the description provides a high-level summary of what it does. However, it lacks details on the return format or behavior in edge cases (e.g., server not reachable). It is adequate but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage, with clear descriptions for each parameter. The description adds context by explaining the purpose of the tool, which helps understand the parameters' roles. However, it does not detail how the parameters are used (e.g., how server_url is probed).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it performs a pre-install report covering health probe, security flags, token cost estimation, and duplicate checking. The verb 'check' and specific outputs (health, security, cost, duplicates) make the purpose clear. However, it does not differentiate from sibling tools like 'health_check' or 'find_duplicates', which might overlap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is used before installation to gather information, but it does not explicitly state when to use it versus alternatives like 'health_check' or 'find_duplicates'. There is no guidance on prerequisites or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_configA

Export portable MCP config for Claude Desktop, Cursor, or VS Code.

ParametersJSON Schema
NameRequiredDescriptionDefault
server_idsYesServer IDs to include in the config
target_clientNoTarget client formatclaude_desktop

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It describes the action (export config) but does not mention side effects, required permissions, or output format. Given no annotations, a score of 3 is appropriate as it adds some clarity beyond the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently conveys the tool's purpose and supported clients, with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has two well-documented parameters and no output schema, the description is adequate but could benefit from mentioning the output format (e.g., JSON) or that it generates a complete config file. It does not explain what 'portable' means or if it overwrites files.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with descriptions for both parameters (server_ids, target_client). The tool description adds context about portability and target clients, complementing the schema well. However, it does not elaborate on parameter constraints beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool exports a portable MCP config and specifies the target clients (Claude Desktop, Cursor, VS Code), distinguishing it from sibling tools like 'register_server' or 'health_check'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool (when needing a portable config for specific clients), but does not explicitly state when not to use it or suggest alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_duplicatesA

Find servers with overlapping tool definitions. Uses Jaccard similarity on tool name sets.

ParametersJSON Schema
NameRequiredDescriptionDefault
org_idNoOrganization to scandefault

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the method (Jaccard similarity on tool name sets), which adds behavioral context beyond the input schema. However, no annotations exist, so the description carries the full burden. It does not mention whether the tool is read-only, destructive, or requires special permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, concise and front-loaded with the purpose. It efficiently states what it does and how, with no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity (1 optional parameter, no output schema), the description is nearly complete. However, it lacks context on what the output looks like (e.g., a list of server pairs), which could help the agent use the results. Annotations could further clarify behavioral expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents the org_id parameter. The description does not add meaning beyond the schema, providing no extra context about default behavior or expected format. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool finds servers with overlapping tool definitions using Jaccard similarity on tool name sets. It uses specific verbs ('Find', 'Uses') and resources ('servers with overlapping tool definitions'), making the purpose unambiguous and distinct from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for identifying overlap, but provides no explicit guidance on when to use this tool versus siblings like recommend_consolidation or get_inventory. No exclusions or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_inventoryA

List all registered servers with health and usage stats.

ParametersJSON Schema
NameRequiredDescriptionDefault
org_idNoOrganization to list (default: all)default

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It states 'list all registered servers' but does not disclose pagination, performance impact, whether deleted servers appear, or any side effects. Lacks important behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. Front-loaded with purpose and result type. Perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Simple tool with one optional parameter and no output schema. Description covers basic purpose but lacks details on return format, error cases, and performance. Adequate for a list operation but could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. Description does not add meaning beyond schema: it implies organization filtering but doesn't explain 'default: all' behavior. Adequate but not enhanced.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states the tool lists all registered servers, includes health and usage stats. Verb 'list' with resource 'registered servers' is specific. Differentiates from siblings like 'register_server' (adds) and 'health_check' (checks single server).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies usage for listing servers with stats, but no explicit when-to-use or when-not-to-use guidance. No mention of alternatives among siblings, though purpose is clear enough to infer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

health_checkB

Check server health. Attempts connection, measures latency, tracks uptime history.

ParametersJSON Schema
NameRequiredDescriptionDefault
server_idYesServer ID returned from register_server

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses three behaviors: connection attempt, latency measurement, and uptime history tracking. With no annotations provided, the description carries full burden. However, it does not mention side effects, required permissions, or whether the tool is read-only (though implied safe). Adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short sentences, front-loaded with the main purpose. No redundant phrasing. However, 'Attempts connection, measures latency, tracks uptime history' could be more concise by combining into one sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple single-parameter tool with no output schema, the description covers core functionality. However, it omits return format (e.g., boolean, status object), possible errors (server not found, timeout), and whether it modifies state. Adequate for a simple health check but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter 'server_id', with a clear description referencing 'register_server'. The description adds no extra param details, but with full schema coverage, baseline is 3. The description's mention of 'server health' contextually relates to the parameter, raising score to 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks server health, including connection attempt, latency measurement, and uptime tracking. It uses specific verbs ('check', 'attempts', 'measures') and identifies the resource ('server health'). While it distinguishes from siblings like 'check_before_install', it could be more explicit about scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., server must be registered) or when not to use it. No sibling comparison is given, leaving the agent to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recommend_consolidationC

Suggest merging duplicate or overlapping servers to reduce sprawl.

ParametersJSON Schema
NameRequiredDescriptionDefault
org_idNoOrganization to analyzedefault

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It doesn't disclose behavioral traits such as whether this tool performs read-only analysis or has side effects. The description is vague about what 'suggest' means in terms of output or actions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, front-loading the action and purpose. No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a suggestion tool with no output schema and no annotations, the description lacks details on what kind of suggestions are provided (e.g., list of servers, reasons). More context is needed for an AI agent to understand the tool's capabilities.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter 'org_id' described as 'Organization to analyze'. The description doesn't add meaning beyond the schema, but baseline 3 is appropriate since schema is complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: suggesting merging duplicate or overlapping servers to reduce sprawl. The verb 'suggest' and resource 'servers' are specific, and the description distinguishes it from siblings like 'find_duplicates' and 'health_check'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. For example, it doesn't clarify whether 'find_duplicates' should be run first or how this tool differs from it. The description lacks context on prerequisites or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

register_serverB

Register an MCP server with metadata. Tracks health, tools, and org membership.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesServer name (e.g. "filesystem-mcp")
urlYesServer URL or package name
transportNoTransport typestdio
descriptionNoWhat this server does
org_idNoOrganization identifier for multi-tenant groupingdefault
toolsNoList of tool names this server provides (if known)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description mentions tracking health, tools, and org membership, hinting at side effects (state mutation). However, no annotations exist, so the description carries the burden. It does not disclose error conditions, idempotency, or whether overwriting existing registration is allowed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states primary action, second adds context. No wasted words. Could be more front-loaded with the server tracking context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 6 parameters and no output schema, the description is adequate but does not explain return values or error handling. It covers the core purpose but lacks completeness for a registration tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds no additional parameter meaning beyond the schema descriptions. The enum for transport and defaults are already clear in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool registers an MCP server with metadata and tracks health, tools, and org membership. The verb 'register' is specific, and the resource is clearly the MCP server, distinguishing it from siblings like health_check or find_duplicates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs. alternatives like check_before_install. The description implies registration is for new servers but does not state prerequisites or conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.6/5.0
Disambiguation4/5

Tools have distinct purposes: install checks, config export, duplicate detection, inventory listing, health checks, consolidation recommendations, and registration. There is some slight overlap between find_duplicates and recommend_consolidation, but they focus on different aspects.

Naming Consistency5/5

All tool names use a consistent verb_noun pattern (check_before_install, export_config, find_duplicates, get_inventory, health_check, recommend_consolidation, register_server), with underscores separating words.

Tool Count5/5

7 tools is appropriate for a registry management server covering registration, health monitoring, duplicate detection, and configuration export. Each tool serves a clear purpose without excess.

Completeness4/5

Core lifecycle operations are covered (register, health check, inventory, duplicate detection, config export). Missing update/unregister server operations, but these are likely less critical for an MCP registry.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that connects to the Resource Hub, allowing centralized configuration and management of tools and resources across different MCP environments.
    4
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server designed for interacting with the Model Context Protocol Registry API to discover and retrieve information about available MCP servers. It provides tools to search, list, and view detailed configurations and version history for servers within the registry.
    4
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    A robust MCP server with tools to search, install, configure, repair, and uninstall MCP servers, automating setup and maintenance across multiple AI and developer tools.
    4
    17

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mdfifty50-boop/mcp-registry-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server