开源MCP工具:轻量级LLM多API支持 是 AI Skill Hub 本期精选MCP工具之一。综合评分 7.5 分,整体质量较高。我们推荐使用将其纳入你的 AI 工具库,帮助提升工作效率。
轻量级、可移植的可执行文件,支持多API调用LLM,简化开发流程,提高效率
开源MCP工具:轻量级LLM多API支持 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
轻量级、可移植的可执行文件,支持多API调用LLM,简化开发流程,提高效率
开源MCP工具:轻量级LLM多API支持 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/jingangdidi/chatsong
# 方式二:手动配置 claude_desktop_config.json
{
"mcpServers": {
"--mcp------llm-api--": {
"command": "npx",
"args": ["-y", "chatsong"]
}
}
}
# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
# 安装后在 Claude 对话中直接使用 # 示例: 用户: 请帮我用 开源MCP工具:轻量级LLM多API支持 执行以下任务... Claude: [自动调用 开源MCP工具:轻量级LLM多API支持 MCP 工具处理请求] # 查看可用工具列表 # 在 Claude 中输入:"列出所有可用的 MCP 工具"
// claude_desktop_config.json 配置示例
{
"mcpServers": {
"__mcp______llm_api__": {
"command": "npx",
"args": ["-y", "chatsong"],
"env": {
// "API_KEY": "your-api-key-here"
}
}
}
}
// 保存后重启 Claude Desktop 生效
A lightweight(~10M), portable executable for invoking LLM with multi-API support - eliminating installation requirements while maintaining operational efficiency.
轻量级大语言模型OpenAI格式api调用工具,无需安装,仅一个~10M可执行文件,支持自定义多种模型(OpenAI、Claude、Gemini、DeepSeek等,以及第三方提供的api)和prompt。
<img src="https://github.com/jingangdidi/chatsong/raw/main/assets/image/demo.png">
git clone https://github.com/jingangdidi/chatsong.git
cd chatsong
cargo build --release if use -k code complation: cargo build --release --features code_completion
structure
some dir
├─ chatsong # single executable file
├─ config.txt # config file
├─ skills # skills path (optional)
└─ chat-log # save chat log 1. download a pre-built binary
2. prepare config.txt
add your models, api key, endpoint, etc, see config_template.txt for details.
3. start server
local usage:
./chatsong If you want to start the service on computer A in the intranet and computer B accesses it, computer A needs to specify its own IP address when starting the service, which cannot be the default 127.0.0.1. It can be specified through the command-line parameter -a <ip>, for example, the IP of computer A is 192.168.1.5: ./chatsong -a 192.168.1.5 You can also write it directly in the config.txt: ip_address: "192.168.1.5",
4. visit directly in your browser
5. terminate the service
press `Ctrl+C` to automatically save all chat records to the output directory while simultaneously updating the graph file
(
ip_address: "127.0.0.1", // required, if you want to access from other computers within the intranet, you need to change it to the local IP address, such as 192.168.1.5
port: 8080, // required
google_engine_key: "", // optional, used for web search
google_search_key: "", // optional, used for web search
allowed_path: "./", // optional, allowed path for tools, multiple paths separated by commas, default: ./
maxage: "1DAY", // required, cookie maxage, support: SECOND, MINUTE, HOUR, DAY, WEEK
show_english: true, // required, true: show english page,false: show chinese page
skills_path: Some("./skills"), // skills path
bgc: "1", // background color, support hex color (e.g. #F5F5DC, #fff, #000), or built-in color: 1(#E6E6E6), 2(#F5F5DC), 3(#FFFFE0), 4(#E6E6FA), default: 1
outpath: "./chat-log", // required, where to save chat log files
model_config: [
Config(
provider: "openai", // required
api_key: "sk-xxx", // required
endpoint: "https://api.xxx", // required
models: [
Model(
name: "gpt-4.1-mini-2025-04-14", // required
pricing: "(in: 0.0028/k, out: 0.0112/k)", // optional
discription: "OpenAI gpt-4.1 model", // optional
group: "gpt-4.1", // required
is_default: false, // required
is_cot: false, // required, does it support Chain of thought (CoT) deep reasoning
),
Model(
name: "gpt-4.1-nano-2025-04-14",
pricing: "(in: 0.0007/k, out: 0.0028/k)",
discription: "OpenAI gpt-4.1 model",
group: "gpt-4.1",
is_default: false,
is_cot: false,
),
],
),
Config(
provider: "claude",
api_key: "sk-xxx",
endpoint: "https://api.xxx",
models: [
Model(
name: "claude-3-5-sonnet-20241022",
pricing: "(in: 0.015/k, out: 0.075/k)",
discription: "claude model",
group: "Claude",
is_default: false,
is_cot: false,
),
Model(
name: "claude-3-7-sonnet-20250219",
pricing: "(in: 0.015/k, out: 0.075/k)",
discription: "claude model",
group: "Claude",
is_default: false,
is_cot: true,
),
],
),
Config(
provider: "gemini",
api_key: "sk-xxx",
endpoint: "https://api.xxx",
models: [
Model(
name: "gemini-2.0-pro-exp-02-05",
pricing: "(in: 0.01/k, out: 0.04/k)",
discription: "google gemini model",
group: "Gemini",
is_default: false,
is_cot: false,
),
Model(
name: "gemini-2.0-flash",
pricing: "(in: 0.005/k, out: 0.02)",
discription: "google gemini model",
group: "Gemini",
is_default: false,
is_cot: false,
),
],
),
Config(
provider: "deepseek",
api_key: "sk-xxx",
endpoint: "https://api.deepseek.com/v1",
models: [
Model(
name: "deepseek-chat",
pricing: "(in: 0.002/k, out: 0.008/k)",
discription: "deepseek new model DeepSeek-V3",
group: "DeepSeek",
is_default: true,
is_cot: false,
),
Model(
name: "deepseek-reasoner",
pricing: "(in: 0.004/k, out: 0.016/k)",
discription: "deepseek new cof model DeepSeek-R1",
group: "DeepSeek",
is_default: false,
is_cot: true,
),
],
),
],
prompts: [
Prompt(
name: "translator",
content: "I want you to act as an English translator, spelling corrector and improver. I will speak to you in any language and you will detect the language, translate it and answer in the corrected and improved version of my text, in English. I want you to replace my simplified A0-level words and sentences with more beautiful and elegant, upper level English words and sentences. Keep the meaning same, but make them more literary. I want you to only reply the correction, the improvements and nothing else, do not write explanations.",
),
Prompt(
name: "Rewrite to Rust",
content: "Rewrite the following code in Rust.",
),
],
external_tools: [
SingleExternalTool(
name: "complement_DNA_or_RNA",
command: "./complement-linux-x86_x64-musl",
description: "Calculate complement of given DNA or RNA",
approval: false,
schema: r#"
{
"properties": {
"seq": {
"type": "string",
"description": "DNA or RNA sequence.",
},
"revcomp": {
"type": "boolean",
"description": "Whether to obtain the reverse complementary sequence. If present, enables reverse complementation.",
},
"rna": {
"type": "boolean",
"description": "Whether to use RNA alphabet.",
},
},
"required": ["seq"],
"type": "object",
}
"#,
),
SingleExternalTool(
name: "add_two_value",
command: "python",
args: ["add_two_value.py"],
description: "add two value",
approval: false,
schema: r#"
{
"properties": {
"a": {
"type": "integer",
"description": "The first value.",
},
"b": {
"type": "integer",
"description": "The second value.",
},
},
"required": ["a", "b"],
"type": "object",
}
"#,
),
],
mcp_servers: [
StdIoServer(
command: "./rust-mcp-filesystem",
args: [
"--allow-write",
"./",
],
),
StdIoServer(
command: "uvx",
args: [
"excel-mcp-server",
"stdio",
],
),
]
)
- One message is a single question or answer. - One Q&A pair can contain multiple messages (multiple consecutive questions + multiple consecutive answers) <img src="https://github.com/jingangdidi/chatsong/raw/main/assets/image/QA-pair.png">
该项目提供了轻量级的LLM多API支持,适合开发AI助手和聊天机器人,但需要进一步优化和完善
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ Apache 2.0 — 宽松开源协议,可商用,需保留版权声明和 NOTICE 文件,含专利授权条款。
经综合评估,开源MCP工具:轻量级LLM多API支持 在MCP工具赛道中表现稳健,质量良好。如果你已有明确的使用需求,可以直接上手体验;如果还在评估阶段,建议对比同类工具后再做决策。
| 原始名称 | chatsong |
| 原始描述 | 开源MCP工具:A lightweight, portable executable for invoking LLM with multi-API support - eli。⭐12 · Rust |
| Topics | mcpai-assistantchatbotchatgpt-apideepseekfunction-callingrust |
| GitHub | https://github.com/jingangdidi/chatsong |
| License | Apache-2.0 |
| 语言 | Rust |
收录时间:2026-05-23 · 更新时间:2026-05-23 · License:Apache-2.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端