cn-llm-mcp

cn-llm-mcp

Local MCP server that enables delegating low-risk tasks like summarization or code patches to a low-cost model, with the main agent reviewing results.

Category
Visit Server

README

cn-llm-mcp

本地 MCP Server,用来让 Claude、Codex、Cursor 等支持 MCP 的 agent 把低风险小任务委托给低成本模型执行,主 agent 负责审核结果。

它按 OpenAI-compatible Chat Completions 接口实现,支持 DeepSeek、通义千问兼容模式、Kimi、智谱、豆包,也支持自定义兼容服务。

适合做什么

  • 摘要、改写、文案初稿
  • README、说明文档、邮件草稿
  • 简单 HTML/CSS/JS 页面初稿
  • 小范围测试草稿
  • 低风险机械代码修改建议

不建议把安全、权限、支付、生产数据、复杂架构判断、密钥、cookie、令牌或隐私数据委托给这个工具。

客户本地安装

客户需要自己准备国内模型或代理服务的 API Key。API Key 留在客户自己的电脑上。

git clone <你的仓库地址> cn-llm-mcp
cd cn-llm-mcp
npm install
npm run build
cp .env.example .env

然后编辑 .env,填入客户自己的 API Key。

DeepSeek 示例:

CN_LLM_PROVIDER=deepseek
CN_LLM_API_KEY=replace_me
CN_LLM_MODEL=deepseek-chat

自定义 OpenAI-compatible 代理示例:

CN_LLM_PROVIDER=custom
CN_LLM_BASE_URL=https://example.com/v1
CN_LLM_MODEL=your-model
CN_LLM_API_KEY=replace_me

服务启动时会自动读取项目根目录的 .env

自检

npm run doctor

自检会检查:

  • Node.js 版本是否 >= 20
  • dist/index.js 是否存在
  • .env 是否存在
  • CN_LLM_API_KEY 是否填写
  • MCP 是否能列出 run_cn_modeldraft_code_patch

doctor 不会真实调用模型生成内容。

常用 provider

# DeepSeek
CN_LLM_PROVIDER=deepseek
CN_LLM_MODEL=deepseek-chat

# 通义千问 OpenAI 兼容模式
CN_LLM_PROVIDER=qwen
CN_LLM_MODEL=qwen-plus

# Kimi
CN_LLM_PROVIDER=kimi
CN_LLM_MODEL=moonshot-v1-8k

# 智谱
CN_LLM_PROVIDER=zhipu
CN_LLM_MODEL=glm-4-flash

# 豆包,需要按火山方舟创建的 endpoint/model 调整
CN_LLM_PROVIDER=doubao
CN_LLM_MODEL=doubao-seed-1-6-250615

Claude Desktop 配置

把下面配置加入 Claude Desktop 的 MCP 配置文件。把路径替换成客户本机的绝对路径。

{
  "mcpServers": {
    "cn-llm-worker": {
      "command": "node",
      "args": ["/absolute/path/to/cn-llm-mcp/dist/index.js"]
    }
  }
}

模板文件:

examples/claude-desktop.json

Codex 配置

把下面配置加入 ~/.codex/config.toml。把路径替换成客户本机的绝对路径。

[mcp_servers.cn-llm-worker]
command = "node"
args = ["/absolute/path/to/cn-llm-mcp/dist/index.js"]
startup_timeout_sec = 30

模板文件:

examples/codex-config.toml

Cursor 配置

Cursor 的 MCP 配置通常也是 JSON。把路径替换成客户本机的绝对路径。

{
  "mcpServers": {
    "cn-llm-worker": {
      "command": "node",
      "args": ["/absolute/path/to/cn-llm-mcp/dist/index.js"]
    }
  }
}

模板文件:

examples/cursor-mcp.json

建议给 agent 的规则

可以把下面规则加入 Claude Project instructions、Codex AGENTS.md 或 Cursor rules:

对于低风险、小范围、机械性任务,可以优先调用 `cn-llm-worker` 让低成本模型生成草稿,例如摘要、文案、README 初稿、简单测试草稿、小型 patch 或简单网页初稿。

不要把 secrets、API key、cookie、令牌、隐私数据或无关的大段上下文发送给 `cn-llm-worker`。

收到 `cn-llm-worker` 的结果后,必须由主 agent 审核;涉及安全、权限、支付、数据一致性、复杂架构判断或高风险代码时,不要委托给该工具。

如果调用了 `cn-llm-worker`,请告诉用户 provider、model 和 token usage。如果没有调用,不要假装调用。

模板文件:

examples/agent-rule.md

暴露的工具

run_cn_model

通用任务委托工具。适合摘要、文案、方案、简单代码草稿。

参数示例:

{
  "task": "把下面内容整理成三点摘要",
  "context": "需要处理的内容",
  "output_format": "text"
}

draft_code_patch

代码 patch 草稿工具。适合小范围、低风险代码任务。

参数示例:

{
  "task": "给 add 函数补一个边界测试",
  "files": [
    {
      "path": "src/math.ts",
      "content": "export function add(a: number, b: number) { return a + b; }"
    }
  ],
  "constraints": "只返回 unified diff"
}

测试提示词

配置完成后,在 agent 里测试:

优先使用 cn-llm-worker。请让低成本模型用三句话解释 MCP 是什么,然后你审核它的回答。

如果调用成功,agent 应该能看到 providermodelusage

常见问题

401 invalid credentials

API Key 无效、过期、填错,或代理服务不接受当前 key。重新生成 API Key 后更新 .env

404 Not Found

通常是 CN_LLM_BASE_URL 不对。OpenAI-compatible 服务一般需要以 /v1 结尾,例如:

CN_LLM_BASE_URL=https://example.com/v1

model not found

CN_LLM_MODEL 不在服务商支持列表里。改成服务商文档里的模型名。

agent 看不到工具

先运行:

npm run doctor

如果 doctor 正常,重启 Claude/Codex/Cursor,确认 MCP 配置里的路径是绝对路径并且指向 dist/index.js

安全说明

  • .env 不要提交到仓库。
  • 客户应使用自己的 API Key。
  • 这个 MCP Server 不会直接修改文件,只返回文本或 patch 草稿。
  • 最终应用 patch、运行测试和判断风险应由主 agent 完成。

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured