Skip to main content

Lookup MCP servers in the official MCP Registry by name or URL.

Project description

mcp-lookup

Lookup MCP servers in the official MCP Registry by name or repository URL. Stdlib-only, no runtime dependencies.

Why

Tools that need to enrich raw MCP server detections — e.g. a security dashboard that catalogs which MCP servers developers are running, an IDE assistant that needs canonical install metadata, or an SBOM pipeline — typically resort to HTML-scraping third-party catalogs because most registries don't expose a clean JSON API.

mcp-lookup wraps the official MCP Registry's JSON API (registry.modelcontextprotocol.io) behind a tiny CLI and Python library. It gives you:

  • Canonical server metadata by name or repo URL: description, publisher namespace, version, packages (npm/pypi/docker), and remote transports (stdio/sse/streamable-http).
  • URL → name resolution: hand it a https://github.com/owner/repo and it finds the registered server entry.
  • Verified publisher signal for free: namespace prefixes (io.github.<user>/…, <domain>/…) are cryptographically verified by the registry, giving you a trust signal without extra work.
  • Subprocess-friendly: designed to be called from a backend service to replace fragile HTML scrapers. Outputs stable JSON with --json.

Typical callers:

  • Dev-tool discovery agents that detect local MCP configs and want enrichment
  • Security / DLP platforms classifying MCP servers by publisher and risk
  • Registry-aware IDE extensions
  • CI jobs validating MCP server manifests

Install

pip install mcp-lookup

Or from source:

git clone <repo-url>
cd mcp-lookup
pip install -e .

CLI

mcp-lookup search github --limit 5
mcp-lookup search https://github.com/owner/repo
mcp-lookup get ai.smithery/Hint-Services-obsidian-github-mcp --pretty
mcp-lookup get https://github.com/owner/repo --pretty
mcp-lookup get <name> --version 1.2.3
mcp-lookup search github --json          # machine-readable

Exit codes: 0 success, 1 no results, 2 registry/network error.

Library

from mcp_lookup import RegistryClient

client = RegistryClient()
results = client.search("github", limit=5)
entry = client.get("ai.smithery/Hint-Services-obsidian-github-mcp")
entry = client.get("https://github.com/owner/repo")

Publishing

python -m build
twine upload dist/*

Or cut a GitHub release — the .github/workflows/publish.yml workflow publishes to PyPI via trusted publishing (no secret required once the publisher is configured on PyPI).

Contributing

Contributions are very welcome — this is an open project and we'd love help from the MCP community.

Good first areas to contribute:

  • Additional registry sources (PulseMCP, mcp.so, GitHub topic fallback) behind a provider interface
  • Live tools/list probing so get can return authoritative tool lists
  • Local caching (SQLite or file-based) with TTL + --refresh
  • Fuzzy name resolution and ranking improvements
  • Tests and CI coverage

To contribute:

  1. Fork the repo and create a feature branch.
  2. Keep changes small and focused; match the existing stdlib-only style unless a dependency is strongly justified.
  3. Open a pull request describing the motivation and include a quick before/after example where relevant.

Issues and feature requests are equally welcome — file them on GitHub.

License

Released under the MIT License. By contributing, you agree that your contributions will be licensed under the same terms.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_lookup-0.2.0.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_lookup-0.2.0-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file mcp_lookup-0.2.0.tar.gz.

File metadata

  • Download URL: mcp_lookup-0.2.0.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mcp_lookup-0.2.0.tar.gz
Algorithm Hash digest
SHA256 0b1644a8fa634dae80a1a0724585e1da9f608844f23bcfe9376d9a3819d60a4a
MD5 ba51961d8052894dd05d8608b610ac9f
BLAKE2b-256 c518fd41d81fad4150eedbcf2eefbfbd16ddb015e0f7cb369042280063fd75c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_lookup-0.2.0.tar.gz:

Publisher: publish.yml on websentry-ai/mcp-lookup

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_lookup-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_lookup-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mcp_lookup-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fe51e50f32d2288566b1095768de91edece44168dca81be9a9a9c030ae921178
MD5 0ff645ae8f989e3d33b2f8ec01f6ec3d
BLAKE2b-256 6ff167569a6c2cda5e6d1d81024a57e23fe22f11e2b0533e001b05d7a0a47d5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_lookup-0.2.0-py3-none-any.whl:

Publisher: publish.yml on websentry-ai/mcp-lookup

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page