Skip to main content
Glama
Sheshiyer
by Sheshiyer
README.md
# DeepSeek MCP Server

An MCP server implementation that provides code generation and completion capabilities using the DeepSeek API, with support for tool chaining and cost optimization.

## Features

- Code generation with language-specific support
- Code completion with context awareness
- Code optimization with multiple targets
- Tool chaining for complex operations
- Built-in caching for cost optimization
- TypeScript implementation with full type safety

## Tools

### 1. generate_code
Generate code using DeepSeek API with language-specific support.
```json
{
  "name": "generate_code",
  "params": {
    "prompt": "Write a function that sorts an array",
    "language": "typescript",
    "temperature": 0.7
  }
}
```

### 2. complete_code
Get intelligent code completions based on existing context.
```json
{
  "name": "complete_code",
  "params": {
    "code": "function processData(data) {",
    "prompt": "Add input validation and error handling",
    "temperature": 0.7
  }
}
```

### 3. optimize_code
Optimize existing code for performance, memory usage, or readability.
```json
{
  "name": "optimize_code",
  "params": {
    "code": "your code here",
    "target": "performance"
  }
}
```

### 4. execute_chain
Execute a chain of tools in sequence, with context passing between steps.
```json
{
  "name": "execute_chain",
  "params": {
    "steps": [
      {
        "toolName": "generate_code",
        "params": {
          "prompt": "Create a REST API endpoint",
          "language": "typescript"
        }
      },
      {
        "toolName": "optimize_code",
        "params": {
          "target": "performance"
        }
      }
    ]
  }
}
```

## Installation

1. Clone the repository
2. Install dependencies:
```bash
npm install
```

3. Build the project:
```bash
npm run build
```

4. Configure your DeepSeek API key in the MCP settings file:
```json
{
  "mcpServers": {
    "deepseek": {
      "command": "node",
      "args": ["/path/to/deepseek-mcp/build/index.js"],
      "env": {
        "DEEPSEEK_API_KEY": "your-api-key"
      }
    }
  }
}
```

## Usage

The server can be used with any MCP-compatible client. Here's an example using the MCP CLI:

```bash
mcp use deepseek generate_code --params '{"prompt": "Write a hello world program", "language": "python"}'
```

## Tool Chaining

Tool chaining allows you to combine multiple operations into a single workflow. Each tool in the chain can access the results of previous tools through the chain context.

Example chain:
1. Generate initial code
2. Complete the code with error handling
3. Optimize the final result

```json
{
  "steps": [
    {
      "toolName": "generate_code",
      "params": {
        "prompt": "Create a user authentication function",
        "language": "typescript"
      }
    },
    {
      "toolName": "complete_code",
      "params": {
        "prompt": "Add input validation and error handling"
      }
    },
    {
      "toolName": "optimize_code",
      "params": {
        "target": "security"
      }
    }
  ]
}
```

## Cost Optimization

The server implements several strategies to optimize API costs:

1. Request caching with TTL
2. Chain result caching
3. Smart prompt construction
4. Metadata tracking for usage analysis

## Development

To start development:

```bash
npm run dev
```

To clean and rebuild:

```bash
npm run rebuild
```

## Requirements

- Node.js >= 18.0.0
- DeepSeek API key
- MCP-compatible client

## License

ISC