原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Cyanheads MCP Server

作者:cyanheads版本 0.5.0i★ –i电脑或云端
注册名称io.github.cyanheads/cyanheads-mcp-server

安装

概览

作者提供的说明(英文原文)

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

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:3 项中通过 3 项
  • 在作者的服务器上运行:你向它提出的内容会经过他们的服务器。
  • 可以做 2 件事(工具) cyanheads_search_catalog, cyanheads_describe_entry
  • 需要你自己填写: MCP_LOG_LEVEL, CATALOG_URL, CATALOG_FETCH_TIMEOUT_MS, CATALOG_REFRESH_SECONDS, EMBEDDING_MODEL_ID, SIMILARITY_FLOOR

你需要

  • 在云端运行无需安装任何东西,通过互联网连接
  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

适用于网页版、桌面版和手机版 Claude:

  1. 打开 Settings → Connectors
  2. 点击 Add custom connector
  3. 粘贴下面的地址,然后点击 Add
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Add2https://…3
https://cyanheads.caseyjhand.com/mcp

或者在你的电脑上运行

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "cyanheads": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/cyanheads-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value",
        "CATALOG_URL": "your-value",
        "CATALOG_FETCH_TIMEOUT_MS": "your-value",
        "CATALOG_REFRESH_SECONDS": "your-value",
        "EMBEDDING_MODEL_ID": "your-value",
        "SIMILARITY_FLOOR": "your-value"
      }
    }
  }
}

在终端中运行这条命令

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

或者在你的电脑上运行

claude mcp add cyanheads --env MCP_LOG_LEVEL=your-value --env CATALOG_URL=your-value --env CATALOG_FETCH_TIMEOUT_MS=your-value --env CATALOG_REFRESH_SECONDS=your-value --env EMBEDDING_MODEL_ID=your-value --env SIMILARITY_FLOOR=your-value -- npx -y @cyanheads/cyanheads-mcp-server

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "cyanheads": {
      "url": "https://cyanheads.caseyjhand.com/mcp"
    }
  }
}

或者在你的电脑上运行

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "cyanheads": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/cyanheads-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value",
        "CATALOG_URL": "your-value",
        "CATALOG_FETCH_TIMEOUT_MS": "your-value",
        "CATALOG_REFRESH_SECONDS": "your-value",
        "EMBEDDING_MODEL_ID": "your-value",
        "SIMILARITY_FLOOR": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "cyanheads": {
      "type": "http",
      "url": "https://cyanheads.caseyjhand.com/mcp"
    }
  }
}

或者在你的电脑上运行

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "cyanheads": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/cyanheads-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value",
        "CATALOG_URL": "your-value",
        "CATALOG_FETCH_TIMEOUT_MS": "your-value",
        "CATALOG_REFRESH_SECONDS": "your-value",
        "EMBEDDING_MODEL_ID": "your-value",
        "SIMILARITY_FLOOR": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

ChatGPT 只能连接互联网上的服务器:

  1. 打开网页版 ChatGPT → Settings → Connectors (Apps)
  2. 点击 Create 或 Add(部分套餐需要先在 Advanced 中开启 Developer mode)
  3. 粘贴下面的地址,起个名字,然后保存
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Create2https://…3
https://cyanheads.caseyjhand.com/mcp

菜单名称可能因套餐和版本不同而略有差异。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • MCP_LOG_LEVEL env
    Minimum log level: debug, info, notice, warning, error.
  • CATALOG_URL env
    Remote fleet.json endpoint (schema v2 with baked embeddings).
  • CATALOG_FETCH_TIMEOUT_MS env
    Per-request timeout for fleet.json fetches: integer milliseconds from 1 to 2147483647.
  • CATALOG_REFRESH_SECONDS env
    Background poll interval for fleet.json refreshes in seconds. 0 disables refresh; positive values up to 2147483.647 use the runtime's millisecond timer resolution.
  • EMBEDDING_MODEL_ID env
    Hugging Face model id for query embedding. Must match fleet.json.embeddingModel.
  • SIMILARITY_FLOOR env
    Cosine similarity cutoff for cyanheads_search_catalog results. Must be within [0, 1].

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

工具名称和描述与服务器在 2026年11月7日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。

  • cyanheads_search_catalog

    Search fleet tools and servers by natural-language description. Returns ranked matches with brief summaries and the server each tool belongs to. Use scope "servers" to find which server handles a workflow; use the default scope "tools" to find specific tools.

  • cyanheads_describe_entry

    Return the description and install snippets for a named tool or server. For tools: the description, owning server, and connection metadata. For either kind: local (stdio, via npx) install snippets for every published server, plus remote (HTTP) connection snippets when a hosted en

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 cyanheads 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • ✓ 通过

    端点有响应

    在 250 毫秒内响应(HTTP 200)

  • – 不适用

    使用 OAuth 登录

    无需登录

  • ✓ 通过

    工具描述中没有隐藏指令

    已读取 2 个工具描述,未发现针对 AI 的隐藏指令

与“搜索与 AI 记忆”中的其他服务器比较i

  • 星标数多于此分类中其他 7270 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 7270 个服务器的 79% 更新
  • 基础检查结果等于或优于此分类中其他 7270 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Cyanheads MCP Server 安全吗?

它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

两种方式都可以:安装在你的电脑上,或者连接云端版本。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.5.0)于9天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。

有什么可以替代它?

同一分类中有:Context7, Codebase Memory, Exa

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Context7

作者:upstash

Up-to-date docs for AI agents

电脑或云端★ 64,224MIT昨天更新
安装

Codebase Memory

作者:DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

在你的电脑上运行★ 48,148MIT21天前更新
安装

Exa

作者:exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

在云端运行★ 5,213MIT上个月更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

@cyanheads/cyanheads-mcp-server Fleet discovery for the cyanheads MCP ecosystem — semantic search + install snippets. 2 Tools • 0 Resources • 0 Prompts

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


Overview

Find the right MCP tool for the job across the cyanheads fleet. Describe a task in plain language to search every tool and server, then get a description, connection URL, and install snippet for your client.

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.
Skills
SkillDescription
cyanheads-guideFind a fleet server for a task and hand over a working install: telling real matches from near misses, the category filter, hosted vs local installs, and env vars the snippets leave out. Served over MCP as skill://cyanheads-guide/SKILL.md and loaded by Claude Code and Codex plugin installs.

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–1000 (default 5), served at most 20 per call: when a larger limit leaves matches past the page, the response adds truncated, shown, cap, and a notice naming the offset to continue from.
  • 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.
  • An empty category string is treated as omitted; other unknown category values are rejected. Categories are catalog labels, not publisher types, and a wrong one drops the matching server without a notice unless nothing else matches.

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, cline, codex, cursor, gemini, streamable-http (generic mcpServers JSON), or curl.
  • server (optional, 1–64 characters) names the owning server: a search result's name + server describes exactly that row, in either scope. It is required when more than one server owns the tool name; with a server name, it must name the same server.
  • Empty kind, client, and server strings are treated as omitted. Other unknown kind or client values are rejected.
  • 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; they list what the server's manifest marks required, so a key it leaves optional is absent.
  • Descriptions are catalog text; obtain tool schemas from the connected server's tools/list.
  • Failures return not_found, ambiguous_kind (set kind), ambiguous_owner (set server; the error lists the owners), 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, conflicting duplicate identities, and vectors that can't be normalized (wrong dimension, all zeros, or a non-finite component) 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 server normalizes each document vector again at load, so scores stay cosine similarities even when a catalog's vectors drift from unit length, and a bounded warning names vectors more than 1e-4 off.
  • 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, include broadening guidance when nothing matches, and name the offset to continue from when a limit above 20 is cut to the per-call cap
  • 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

Connect to the hosted instance, no install:

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

Or run it locally:

claude mcp add cyanheads-mcp-server -- npx -y @cyanheads/cyanheads-mcp-server

For other clients, add this to the MCP config file:

{

"mcpServers": { "cyanheads-mcp-server": { "command": "npx", "args": ["-y", "@cyanheads/cyanheads-mcp-server"] } } }

The Claude Desktop bundle (the install badge above) runs the embedding model on ONNX WebAssembly, so it needs no platform-specific native libraries; npm and Docker installs use native CPU inference. Either way, the first start downloads the embedding model and later starts reuse the model cache. For Docker or a source build, see Running the server.

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: integer milliseconds, 1–2147483647.10000
CATALOG_REFRESH_SECONDSBackground poll interval for fleet.json refresh. 0 disables; positive values up to 2147483.647 seconds use the runtime's millisecond timer resolution.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

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

  • Clone and install:
  git clone https://github.com/cyanheads/cyanheads-mcp-server.git

cd cyanheads-mcp-server && bun install cp .env.example .env # every variable has a default; override as needed

  • Build and run the production version:
  # One-time build

bun run rebuild

Run the built server

bun run start:http

or

bun run start:

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx