crimson-crab-mcp-template
This server is an MCP template that enables interaction with Anthropic's Claude API through a single ask_claude tool. Here's what you can do with it:
Ask Claude any question by providing a required
prompt, with an optionalsystemprompt to guide Claude's behaviorGet Claude's text response returned directly within your MCP-compatible client (e.g., Claude Desktop)
Integrate with Claude Desktop by configuring it in your
claude_desktop_config.jsonUse it as a starting point to build your own Claude-powered MCP tools in Rust, leveraging the
crimson-crabRust SDK
It communicates over stdio using the MCP protocol, reads the ANTHROPIC_API_KEY environment variable for authentication, and handles API errors gracefully by returning them as MCP tool errors.
Claude-powered MCP server in Rust (starter template)
A minimal, production-ready Model Context Protocol
(MCP) server, written in Rust, backed by Anthropic's Claude API through the
crimson-crab SDK. It exposes five
tools: ask_claude (send a prompt, get Claude's reply), chat (multi-turn
conversation), count_tokens (price a prompt without running it), list_models
(enumerate the models your API key can use), and get_model (limits and
metadata for one model).
Use it as the reference starting point for building your own Claude-powered MCP tools in Rust.
Use this template
Click Use this template on GitHub, or generate a fresh project with
cargo generate:
cargo generate --git https://github.com/singhpratech/crimson-crab-mcp-templateYou can also just clone it:
git clone https://github.com/singhpratech/crimson-crab-mcp-templateRelated MCP server: MCP Server Boilerplate
Quickstart
export ANTHROPIC_API_KEY=sk-ant-...
cargo runThe server communicates over stdio, so running it directly just waits for an MCP
client to connect. All logging goes to stderr — stdout is reserved for the MCP
protocol. Set RUST_LOG=debug for more verbose logs.
To build an optimized binary you can point a client at:
cargo build --release
# -> target/release/crimson-crab-mcp-templateWire it into Claude Desktop
Add an entry to your Claude Desktop MCP config
(claude_desktop_config.json), pointing at the built binary and passing your API
key through the environment:
{
"mcpServers": {
"claude-via-crimson-crab": {
"command": "/absolute/path/to/target/release/crimson-crab-mcp-template",
"env": {
"ANTHROPIC_API_KEY": "sk-ant-..."
}
}
}
}Restart Claude Desktop; the ask_claude, chat, count_tokens,
list_models, and get_model tools will then be available.
The tools
ask_claude
Parameter | Type | Required | Description |
|
| yes | The prompt to send to Claude. |
|
| no | Optional system prompt. |
Builds a Claude Messages request (defaulting to the claude-opus-5 model),
calls the API, and returns the concatenated text of Claude's reply.
chat
Parameter | Type | Required | Description |
|
| yes | The conversation so far, oldest first: |
|
| no | Optional system prompt. |
|
| no | Model id (defaults to the |
|
| no | Maximum tokens to generate (default 1024). |
Sends the whole message history to Claude and returns the next reply — use it
instead of ask_claude when the caller needs to keep context across turns.
count_tokens
Parameter | Type | Required | Description |
|
| yes | The prompt whose token count you want. |
|
| no | Optional system prompt to include in the count. |
|
| no | Model id to count against (counts are model-specific). |
Returns the number of input tokens the prompt would consume, without running it — useful for estimating cost before an expensive call.
list_models
Parameter | Type | Required | Description |
|
| no | Maximum number of models to return. |
Returns the id, display name, and release date of each Claude model available to the configured API key.
get_model
Parameter | Type | Required | Description |
|
| yes | The model id to look up, e.g. |
Returns the model's display name, release date, context window
(max_input_tokens), and maximum output tokens.
Errors from all tools are returned as MCP tool errors rather than panicking. The Claude client is built once at startup and reused across calls.
Built with crimson-crab
This template is built with crimson-crab
— a production-grade Rust SDK for Anthropic's Claude API. Source:
https://github.com/singhpratech/crimson-crab.
License
Licensed under either of
MIT license (LICENSE-MIT)
Apache License, Version 2.0 (LICENSE-APACHE)
at your option.
crimson-crab is an independent open-source project and is not affiliated with Anthropic.
Maintenance
Related MCP Servers
- FlicenseAqualityDmaintenanceA starter template for building custom MCP servers that can integrate with Claude Desktop, Cursor, and other AI assistants. Provides example tools, TypeScript support, and automated publishing workflows to help developers create their own AI assistant integrations.712
- FlicenseBqualityDmaintenanceA starter template for building custom MCP servers that can integrate with Claude Desktop, Cursor, and other AI assistants. Provides example tools, TypeScript support, and automated publishing workflows to help developers quickly create their own MCP integrations.113
- FlicenseAqualityDmaintenanceA starter template for building custom MCP servers that can integrate with Claude Desktop, Cursor, and other AI assistants. Provides example tools, TypeScript support, and automated publishing workflows to help developers quickly create their own MCP servers.712
- Flicense-qualityCmaintenanceA template for deploying MCP servers without authentication on Cloudflare Workers. Enables custom tool creation and integration with Claude Desktop and AI Playground through Server-Sent Events.
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
An MCP server that gives your AI access to the source code and docs of all public github repos
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/singhpratech/crimson-crab-mcp-template'
If you have feedback or need assistance with the MCP directory API, please join our Discord server