server-anthropic
by emzimmer
README.md
# Anthropic API MCP Server
A [Model Context Protocol (MCP)](https://github.com/modelcontextprotocol) server that provides access to Anthropic's AI models through their official API. List available models and send messages to Claude using a secure, standardized interface. [More about MCP](https://modelcontextprotocol.io/introduction).
[]()
## Features
* List all available Anthropic models
* Send messages to any Anthropic model
* Secure API key management
* Support for workspace segmentation
* Automatic API versioning
* Comprehensive error handling
* Experimental context window management
## Why Use This Server?
Unlike direct API integration, this server:
* Provides a standardized MCP interface for Anthropic's API
* Handles authentication and versioning automatically
* Supports workspace isolation for different use cases
* Integrates seamlessly with Claude Desktop and other MCP clients
* Includes detailed error messages and validation
* Potentially extends conversation context windows through distributed processing
## Context Window Management Hypothesis
This server explores efficient context window management through distributed processing:
**Claim:** Offloading processing to separate API calls through the MCP server may reduce context window pressure on the main Claude Desktop conversation.
**Primary Hypothesis:** By branching conversation processing across multiple isolated API instances, the total effective context window of a conversation can be extended beyond standard limitations.
**Key Mechanisms:**
* Main conversation (trunk) retains only final outputs and discussion
* Individual API calls maintain isolated contexts
* Processing can be distributed across multiple model instances
**Testing Scenarios:**
1. Context Window Extension
* Compare context limits with and without API offloading
* Measure conversation longevity in both scenarios
* Track rate limit encounters
2. Processing Distribution
* Haiku for rapid initial processing
* Sonnet for medium-sized aggregation
* Opus for comprehensive analysis
## Installation
```bash
npm install server-anthropic
```
## Tool Reference
### `list_models`
Lists all available Anthropic models and their capabilities.
**Arguments:**
```json
{
// No arguments required
}
```
**Returns:**
```json
{
"models": [
{
"name": "claude-3-opus-20240229",
"description": "Most powerful model for highly complex tasks",
...
},
...
]
}
```
### `send_message`
Send a message to an Anthropic model using the Messages API.
**Arguments:**
```json
{
"messages": {
"type": "array",
"description": "Array of messages to send",
"items": {
"role": "user | assistant",
"content": "string"
},
"required": true
},
"model": {
"type": "string",
"description": "Model ID to use",
"default": "claude-3-opus-20240229"
},
"max_tokens": {
"type": "number",
"description": "Maximum tokens to generate",
"default": 1024
}
}
```
**Returns:**
```json
{
"content": [
{
"type": "text",
"text": "Model response..."
}
]
}
```
## Usage with Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"anthropic": {
"command": "npx",
"args": ["-y", "server-anthropic"],
"env": {
"ANTHROPIC_API_KEY": "your-api-key-here",
"ANTHROPIC_WORKSPACE_ID": "optional-workspace-id"
}
}
}
}
```
## Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| ANTHROPIC_API_KEY | Yes | Your Anthropic API key from [console.anthropic.com](https://console.anthropic.com/account/keys) |
| ANTHROPIC_WORKSPACE_ID | No | Optional workspace ID for usage segmentation |
## Dependencies
* @modelcontextprotocol/sdk - Core MCP functionality
* @anthropic-ai/sdk - Official Anthropic API client
## Error Handling
The server provides detailed error messages for common issues:
* Invalid API key
* Missing required parameters
* Rate limiting
* Model-specific errors
* Network connectivity issues
## Development
1. Clone the repository
2. Install dependencies: `npm install`
3. Set up environment variables in `.env`:
```
ANTHROPIC_API_KEY=your-api-key
ANTHROPIC_WORKSPACE_ID=optional-workspace
```
4. Start the server: `npm start`
## Version Notes (0.1.0-beta)
Current beta version focuses on:
* Core MCP server functionality
* Context window management testing
* API integration stability
* Initial hypothesis validation
Known limitations:
* Context window behavior requires further testing
* Rate limiting patterns under investigation
* Workspace segmentation impact on context management undefined
## License
MITTDQS
A3.9/5.0
Scored across 2 tools
Disambiguation5/5
The two tools have clearly distinct purposes: list_models provides information about available models, while send_message executes a message to a model. There is no overlap or ambiguity.
Naming Consistency5/5
Both tool names follow a consistent verb_noun pattern with underscores: list_models and send_message. The naming is clear and predictable.
Tool Count3/5
With only 2 tools, the server feels thin for its intended purpose of interacting with the Anthropic API. While the tools are essential, additional tools like streaming or model details would be expected.
Completeness3/5
The server covers basic operations (list models and send a message) but lacks common features like streaming, message history, or batch operations. Notable gaps exist for a full API surface.
Maintenance
ActivityInactive
ResponsivenessUnresponsive