CCM
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Claude Code Marketplaces

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Skill index
  • MCP index
  • Marketplace index
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by mertbuilds.com

Independent project, not affiliated with Anthropic
cyanheads avatar

Cyanheads Mcp Server

cyanheads/cyanheads-mcp-server
STDIO, HTTPregistry active
Summary

A discovery layer for the cyanheads MCP ecosystem. Two tools: semantic search across 40+ servers in research, government, public data, and utility categories, plus install snippet generation for any server or tool in the fleet. Search uses Snowflake Arctic embeddings truncated to 256 dimensions, returns cosine similarity scores, and lets you filter by category or scope (tools vs servers). Describe returns connection URLs and per-client config snippets for both stdio and Streamable HTTP transports. The catalog lives at caseyjhand.com/fleet.json with baked embeddings, refreshed hourly. Useful when you need to browse or programmatically discover what's available in the fleet without checking individual repos.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Lid closed, agents working
Lid closed, agents working
Keeps your Mac awake while Claude Code, Codex or Cursor works. Lets it sleep when they are done.
Try free for 7 days →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
Open Steps
Open Steps
Free an open-source skills that make AI coding agents easier to understand, verify, and control.
Download for free →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Lid closed, agents working
Lid closed, agents working
Keeps your Mac awake while Claude Code, Codex or Cursor works. Lets it sleep when they are done.
Try free for 7 days →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
Open Steps
Open Steps
Free an open-source skills that make AI coding agents easier to understand, verify, and control.
Download for free →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →

@cyanheads/cyanheads-mcp-server

Fleet discovery for the cyanheads MCP ecosystem — semantic search + install snippets.

2 Tools • 0 Resources • 0 Prompts

Version License Docker MCP SDK npm TypeScript Bun

Install in Claude Desktop Install in Cursor Install in VS Code

Framework

Public Hosted Server: https://cyanheads.caseyjhand.com/mcp


Overview

Fleet discovery for the cyanheads MCP ecosystem, built on a hosted fleet.json catalog of pre-computed tool and server embeddings. Search the catalog by natural-language query, or resolve a known tool or server name to its description, connection URL, and per-client install snippet. Runs as a stdio process, a local Streamable HTTP server, or the public hosted endpoint above.

Tools

ToolDescription
cyanheads_search_catalogSearch fleet tools and servers by natural-language query. Returns ranked matches with brief summaries and the owning server.
cyanheads_describe_entryReturn the description, connection URL, and per-client install snippet for a named tool or server.

Capability reference

cyanheads_search_catalog tool

  • query 1–500 raw characters, with non-whitespace text required; surrounding whitespace is trimmed before embedding and echo. scope selects tools (default) or servers; optional category: research, government, public-data, utility; limit 1–20 (default 5).
  • Results carry cosine-similarity score ([0, 1], comparable within one response). Tool searches include a servers roll-up with ten entries per page and serversTotal; an unloaded catalog returns retryable catalog_empty.
  • Page results with offset and the tools-scope roll-up independently with serversOffset (both default to 0). Reuse the same query, scope, category, and limit with nextOffset / nextServersOffset; null means exhausted. Each call uses the current catalog, so a refresh between pages can change ordering. Servers scope requires serversOffset: 0 and omits roll-up fields.
  • SIMILARITY_FLOOR (default 0.3) filters matches before the limit applies.

cyanheads_describe_entry tool

  • name 1–64 characters accepts a tool or server name, auto-detected or pinned via kind. Exact names win, then unique case-insensitive names; output uses canonical names. client optionally selects claude-code, codex, cursor, gemini, streamable-http, or curl.
  • Both kinds return connection metadata and install snippets; server results also include the full tool inventory. Published servers get local snippets; hosted servers also get HTTP snippets. For local-only entries, client: "curl" returns successful metadata with an installNotice naming a stdio client to try. Required environment variables remain visible even without snippets.
  • Descriptions are catalog text; obtain tool schemas from the connected server's tools/list.
  • Failures return not_found, ambiguous_kind (set kind), or retryable catalog_empty.

Features

Built on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.

Catalog-specific:

  • Hourly background catalog refresh (CATALOG_REFRESH_SECONDS, default 3600) with an atomic index swap when generatedAt changes — no restart needed
  • Empty catalogs and conflicting duplicate identities fail before index replacement; refresh retains the last valid catalog. Identical duplicates collapse before indexing, with a bounded load-time warning; servers with no tools remain valid.
  • Query embeddings are computed at request time via @huggingface/transformers; document embeddings are pre-computed, L2-normalized, and Matryoshka-truncated, shipped inside fleet.json
  • The embedding model is warmed up during startup, before OpenTelemetry's HTTP instrumentation patches fetch — avoids a cold-cache model-load failure under OTEL
  • Self-describing: cyanheads_describe_entry resolves this server's own name and tools from a static fallback record, consulted only when the remote catalog doesn't carry an entry for it
  • CATALOG_URL can point at any endpoint serving the same schema, to front a custom fleet

Agent-friendly output:

  • Search responses echo the effective query, report the total match count before the limit, and include broadening guidance when nothing matches
  • Discriminated result.kind (tool | server) on cyanheads_describe_entry lets callers branch on data, not string parsing
  • Every search result carries a score field for trust calibration, plus a servers roll-up so agents can see which servers matched without a second call

Getting started

Public Hosted Instance

A public instance is available at https://cyanheads.caseyjhand.com/mcp — no installation required. Point any MCP client at it via Streamable HTTP:

{
  "mcpServers": {
    "cyanheads-mcp-server": {
      "type": "streamable-http",
      "url": "https://cyanheads.caseyjhand.com/mcp"
    }
  }
}

For Claude Code:

claude mcp add --transport http cyanheads https://cyanheads.caseyjhand.com/mcp

Self-Hosted / Local

Add the following to your MCP client configuration file.

{
  "mcpServers": {
    "cyanheads-mcp-server": {
      "type": "stdio",
      "command": "bunx",
      "args": ["@cyanheads/cyanheads-mcp-server@latest"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "MCP_LOG_LEVEL": "info"
      }
    }
  }
}

Or with npx (no Bun required):

{
  "mcpServers": {
    "cyanheads-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@cyanheads/cyanheads-mcp-server@latest"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "MCP_LOG_LEVEL": "info"
      }
    }
  }
}

Or with Docker:

{
  "mcpServers": {
    "cyanheads-mcp-server": {
      "type": "stdio",
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "MCP_TRANSPORT_TYPE=stdio", "ghcr.io/cyanheads/cyanheads-mcp-server:latest"]
    }
  }
}

For Streamable HTTP, set the transport and start the server:

MCP_TRANSPORT_TYPE=http MCP_HTTP_PORT=3010 bun run start:http
# Server listens at http://localhost:3010/mcp

Prerequisites

  • Bun v1.4.0 or higher (or Node.js v24+).

Installation

  1. Clone the repository:
git clone https://github.com/cyanheads/cyanheads-mcp-server.git
  1. Navigate into the directory:
cd cyanheads-mcp-server
  1. Install dependencies:
bun install
  1. Configure environment:
cp .env.example .env
# edit .env to override any defaults

Configuration

All configuration is validated at startup via Zod schemas in src/config/server-config.ts. Every variable has a sensible default — out of the box, the server points at the canonical cyanheads fleet.

VariableDescriptionDefault
MCP_TRANSPORT_TYPETransport: stdio or httpstdio
MCP_HTTP_PORTHTTP server port3010
MCP_HTTP_HOSTHTTP server bind host127.0.0.1
MCP_HTTP_ENDPOINT_PATHHTTP endpoint path where the MCP server is mounted/mcp
MCP_AUTH_MODEAuthentication: none, jwt, or oauthnone
MCP_SESSION_MODEHTTP session posture: auto, stateful, or stateless. src/index.ts declares stateless; set this only to override it.stateless
MCP_LOG_LEVELLog level (debug, info, warning, error, etc.)info
CATALOG_URLRemote fleet.json endpoint (schema v2 with baked embeddings). Must be an absolute URL. Override to front your own fleet.https://caseyjhand.com/fleet.json
CATALOG_FETCH_TIMEOUT_MSPer-request timeout for fleet.json fetches in ms. Must be > 0.10000
CATALOG_REFRESH_SECONDSBackground poll interval for fleet.json refresh. 0 disables; otherwise must be > 0.3600
EMBEDDING_MODEL_IDHugging Face model id for query embedding. Must match fleet.json.embeddingModel.Snowflake/snowflake-arctic-embed-m-v1.5
SIMILARITY_FLOORCosine similarity cutoff for cyanheads_search_catalog results. Must be within [0, 1].0.3
OTEL_ENABLEDEnable OpenTelemetryfalse
OTEL_EXPORTER_OTLP_ENDPOINTOTLP base URL for traces and metricsUnset
OTEL_EXPORTER_OTLP_LOGS_ENDPOINTExplicit OTLP logs URL; requires the OTel log peers included in the default Docker buildUnset
LOG_TOOL_FAILURE_PAYLOADSLog failed arguments and results, redacted by key name. Secrets inside free-form values are not redacted.false
LOG_TOOL_FAILURE_PAYLOAD_MAX_BYTESUTF-8 byte cap for each logged failure payload16384

See .env.example for the full list of optional overrides.

Running the server

Local development

  • Build and run the production version:

    # One-time build
    bun run rebuild
    
    # Run the built server
    bun run start:http
    # or
    bun run start:stdio
    
  • Run checks and tests:

    bun run devcheck  # Lints, formats, type-checks, runs MCP and packaging linters
    bun run test      # Runs the test suite
    

Docker

docker build -t cyanheads-mcp-server .
docker run --rm -p 3010:3010 cyanheads-mcp-server

The Dockerfile defaults to HTTP transport, stateless session mode, and logs to /var/log/cyanheads-mcp-server. OpenTelemetry peer dependencies are installed by default — build with --build-arg OTEL_ENABLED=false to omit them.

Project structure

DirectoryPurpose
src/mcp-server/toolsTool definitions (*.tool.ts). Two tools — cyanheads_search_catalog and cyanheads_describe_entry.
src/services/catalogCatalog service — remote fleet.json provider with atomic-swap refresh, vector index, snippet builders, the self-description fallback record, and the query-time embedding runtime (@huggingface/transformers, behind an injectable interface for deterministic tests).
src/configServer-specific environment variable parsing and validation with Zod.
tests/Unit and integration tests, mirroring the src/ structure.
docs/Design doc and schema reference.

Development guide

See CLAUDE.md for development guidelines and architectural rules. The short version:

  • Handlers throw, framework catches — no try/catch in tool logic
  • Use ctx.log for logging, ctx.state for storage
  • Register new tools in the tools array passed to createApp() in src/index.ts
  • Wrap external data: validate raw → normalize to domain type → return output schema; never fabricate missing fields

Contributing

Issues are welcome. Run checks and tests before submitting:

bun run devcheck
bun run test

License

Apache-2.0 — see LICENSE for details.

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Lid closed, agents working
Lid closed, agents working
Keeps your Mac awake while Claude Code, Codex or Cursor works. Lets it sleep when they are done.
Try free for 7 days →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
Open Steps
Open Steps
Free an open-source skills that make AI coding agents easier to understand, verify, and control.
Download for free →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →

Configuration

MCP_LOG_LEVELdefault: info

Minimum log level: debug, info, notice, warning, error.

CATALOG_URLdefault: https://caseyjhand.com/fleet.json

Remote fleet.json endpoint (schema v2 with baked embeddings).

CATALOG_REFRESH_SECONDSdefault: 3600

Background poll interval for fleet.json refresh. 0 disables.

EMBEDDING_MODEL_IDdefault: Snowflake/snowflake-arctic-embed-m-v1.5

Hugging Face model id for query embedding. Must match fleet.json.embeddingModel.

SIMILARITY_FLOORdefault: 0.3

Cosine similarity cutoff for cyanheads_search results (0-1).

MCP_HTTP_HOSTdefault: 127.0.0.1

Hostname for the HTTP server.

MCP_HTTP_PORTdefault: 3010

Port to run the HTTP server on.

MCP_HTTP_ENDPOINT_PATHdefault: /mcp

Endpoint path for the MCP server.

MCP_AUTH_MODEdefault: none

Authentication mode: none, jwt, or oauth.

Categories
Search & Web Crawling
Registryactive
Package@cyanheads/cyanheads-mcp-server
TransportSTDIO, HTTP
UpdatedJun 5, 2026
View on GitHub

More from cyanheads

  • Ensembl Mcp Server
  • Eur Lex Mcp Server
  • Exchange Rates Mcp Server
  • Fema Mcp Server
  • Imf Mcp Server
  • Noaa Marine Mcp Server
  • Noaa Spaceweather Mcp Server
  • Pokeapi Mcp Server
  • Stackexchange Mcp Server
  • Usgs Water Mcp Server
  • Workflows Mcp Server32
  • Bluesky Mcp Server
  • Ntfy Mcp Server16
  • Brapi Mcp Server3
  • Libofcongress Mcp Server2
  • Nonprofit Explorer Mcp Server2
  • Biorxiv Mcp Server1
  • Bls Mcp Server1
  • Clipboard Mcp Server1
  • College Scorecard Mcp Server1
  • Crossref Mcp Server1
  • Eia Mcp Server1
  • Epa Mcp Server1
  • Fbi Crime Mcp Server1

Related Search & Web Crawling MCP Servers

View all →
cyanheads avatar
Ensembl Mcp Server

cyanheads/ensembl-mcp-server

Look up genes, fetch sequences, predict variant consequences, find orthologs and xrefs via Ensembl.
cyanheads avatar
Eur Lex Mcp Server

cyanheads/eur-lex-mcp-server

Search EU legislation, CJEU case law, and treaties; traverse CELLAR graph; browse EuroVoc concepts.
cyanheads avatar
eur-lex-mcp-server

cyanheads/eur-lex-mcp-server-0e3d8c92

Search EU legislation, CJEU case law, and treaties; traverse CELLAR graph; browse EuroVoc concepts.
cyanheads avatar
federal-regulations-mcp-server

cyanheads/federal-regulations-mcp-server

Search and trace US federal rules across the Federal Register, eCFR, and Regulations.gov.
cyanheads avatar
libofcongress-mcp-server

cyanheads/libofcongress-mcp-server-11fb4479

Search LOC digital collections, Chronicling America newspapers (full OCR), and LC Subject Headings.
cyanheads avatar
nist-nvd-mcp-server

cyanheads/nist-nvd-mcp-server-c5525bbf

Search and audit NIST NVD CVEs by keyword, severity, CWE, CISA KEV status, and CPE.