关于 crimson-crab-mcp-template
crimson-crab-mcp-template 是面向开发者的 Rust 入门模板,通过 crimson-crab SDK 使用 Anthropic 的 Claude API 构建 MCP 服务。它提供提示词请求、多轮聊天、Token 计数和模型信息查询工具。
主要功能
- 01发送单条 Claude 请求
- 02支持多轮对话
- 03按模型计算 Token 数
- 04列出可用的 Claude 模型
- 05获取模型限制和元数据
适用场景
- 01以 Rust 开始构建 Claude MCP 服务
- 02发送提示词并延续对话历史
- 03调用 API 前估算输入 Token
- 04查看 API 密钥可用的模型
MCP 相关
该服务通过 stdio 与 MCP 客户端通信,并提供 Claude 请求、聊天、Token 计数和模型信息等五种工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Rust 中由 Claude 驱动的 MCP 服务(入门模板)
一个精简且可用于生产环境的模型上下文协议
(MCP)服务,以 Rust 编写,通过 crimson-crab SDK 接入 Anthropic 的 Claude API。它提供五个
工具:ask_claude(发送提示词并获取 Claude 的回复)、chat(多轮
对话)、count_tokens(计算提示词的费用而不实际运行)、list_models
(列出 API 密钥可使用的模型)以及 get_model(获取单个模型的限制和
元数据)。
可将其用作参考起点,构建自己的 Rust Claude 驱动型 MCP 工具。
使用此模板
在 GitHub 上点击 Use this template,或使用
cargo generate 生成一个全新的项目:
cargo generate --git https://github.com/singhpratech/crimson-crab-mcp-template
也可以直接克隆:
git clone https://github.com/singhpratech/crimson-crab-mcp-template
快速入门
export ANTHROPIC_API_KEY=sk-ant-...
cargo run
服务通过 stdio 通信,因此直接运行时只会等待 MCP 客户端连接。所有日志都写入 stderr,stdout 专用于 MCP 协议。设置 RUST_LOG=debug 可输出更详细的日志。
要构建一个优化后的二进制文件,可将客户端指向:
cargo build --release
# -> target/release/crimson-crab-mcp-template
将其接入 Claude Desktop
在 Claude Desktop MCP 配置文件
(claude_desktop_config.json)中添加一条配置,指向构建好的二进制文件,并通过环境传入 API
密钥:
{
"mcpServers": {
"claude-via-crimson-crab": {
"command": "/absolute/path/to/target/release/crimson-crab-mcp-template",
"env": {
"ANTHROPIC_API_KEY": "sk-ant-..."
}
}
}
}
重启 Claude Desktop,即可使用 ask_claude、chat、count_tokens、
list_models 和 get_model 工具。
工具
ask_claude
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
prompt | string | 是 | 要发送给 Claude 的提示词。 |
system | string | 否 | 可选的系统提示词。 |
构建 Claude Messages 请求(默认使用 claude-opus-5 模型),
调用 API,并返回 Claude 回复中拼接后的文本。
chat
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
messages | array | 是 | 到目前为止的对话,按时间从早到晚排列:{role, content},其中 role 是限定为 "user" 或 "assistant" 的枚举。必须以用户轮次结束。 |
system | string | 否 | 可选的系统提示词。 |
model | string | 否 | 模型 ID(默认为 ask_claude 使用的模型)。 |
max_tokens | integer | 否 | 要生成的最大令牌数(默认为 1024)。 |
将完整的消息历史发送给 Claude,并返回下一条回复;当调用方需要在多轮对话间保留上下文时,请使用此工具,而不是 ask_claude。
count_tokens
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
prompt | string | 是 | 要计算令牌数的提示词。 |
system | string | 否 | 计数时一并包含的可选系统提示词。 |
model | string | 否 | 用于计数的模型 ID(计数结果因模型而异)。 |
返回提示词会占用的输入令牌数,而不实际运行提示词,可用于在进行高成本调用前估算费用。
list_models
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | no | 返回的模型数量上限。 |
返回配置的 API 密钥可用的每个 Claude 模型的 ID、显示名称和发布日期。
get_model
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | yes | 要查询的模型 ID,例如 claude-opus-5。 |
返回模型的显示名称、发布日期、上下文窗口
(max_input_tokens)和最大输出 token 数。
所有工具的错误都会作为 MCP 工具错误返回,而不会触发 panic。 Claude 客户端会在启动时创建一次,并在后续调用中重复使用。
使用 crimson-crab 构建
此模板使用 crimson-crab 构建,
这是一个面向生产环境的 Anthropic Claude API Rust SDK。源代码:
https://github.com/singhpratech/crimson-crab。
许可证
可选择使用以下任一许可证:
- MIT 许可证(LICENSE-MIT)
- Apache License, Version 2.0(LICENSE-APACHE)
crimson-crab 是一个独立的开源项目,与 Anthropic 无关联。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。