🎯 Enable AI assistants to search and access Arknights game data through a simple MCP interface.
The Doctah-MCP Server provides a bridge between AI assistants and PRTS.wiki's Arknights repository through the Model Context Protocol (MCP). It allows AI models to search for operators and enemies and access their content in a programmatic way.
✨ Core Features
- 🎯 Operator Search: Query detailed operator information including skills, talents, and attributes
- ⚔️ Enemy Intelligence: Access comprehensive enemy data with level progression
- 📋 List Search: Find operators and enemies with fuzzy search functionality
- 🔍 Content Verification: Smart content validation to distinguish operators from enemies
- 🤖 AI-Friendly: Clean Markdown output with consistent structure
🚀 Quick Start
Install from Source
git clone https://github.com/TonybotNi/Doctah-MCP.git
cd doctah-mcp
pip install -e .
Verify installation:
# Test if global command works
doctah-mcp --help
# Or test with Python module
python -m doctah_mcp.server --help
For development:
# Clone and set up development environment
git clone https://github.com/TonybotNi/Doctah-MCP.git
cd doctah-mcp
# Install with test dependencies
pip install -e ".[dev]"
🔌 MCP Integration
Choose one of the following configuration methods for your MCP client config file:
Method 1: Using global command (recommended)
{
"mcpServers": {
"doctah-mcp": {
"command": "doctah-mcp",
// Or use full path: "/full/path/to/doctah-mcp"
"args": []
}
}
}
💡 If
doctah-mcpcommand is not found, use Method 3 with full path to python executable
Method 2: Using Python module
{
"mcpServers": {
"doctah-mcp": {
"command": "python",
"args": ["-m", "doctah_mcp.server"]
}
}
}
Method 3: Using full path (most reliable)
{
"mcpServers": {
"doctah-mcp": {
"command": "/full/path/to/python",
"args": ["-m", "doctah_mcp.server"],
"cwd": "/path/to/doctah-mcp-folder"
}
}
}
💡 Note:
cwdis the working directory, only needed in method 3, pointing to your downloaded doctah-mcp project folder
💡 Available Tools
The server provides four main tools:
1. Operator Search
Search for detailed operator information:
result = await call_tool("search_operator_mcp", {
"name": "Amiya",
"sections": "skills,talents"
})
2. Enemy Search
Get comprehensive enemy data:
result = await call_tool("search_enemy_mcp", {
"name": "Originium Slug",
"sections": "level0,level1"
})
3. List Operators
Find operators matching a pattern:
result = await call_tool("list_operators_mcp", {
"name": "guard"
})
4. List Enemies
Find enemies matching a pattern:
result = await call_tool("list_enemies_mcp", {
"name": "drone"
})
📁 Client Configuration
Claude Desktop
Configuration file locations:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Recommended configuration (simplest):
{
"mcpServers": {
"doctah-mcp": {
"command": "doctah-mcp",
"args": []
}
}
}
Fallback configuration (if above doesn't work):
{
"mcpServers": {
"doctah-mcp": {
"command": "/full/path/to/python",
"args": ["-m", "doctah_mcp.server"],
"cwd": "/path/to/doctah-mcp-folder"
}
}
}
Cherry Studio
- Open Cherry Studio → Settings → MCP Servers → Add
- Select Type: STDIO
- Simple configuration:
- Command:
doctah-mcp - Args:
[]
- Command:
- Fallback configuration (if above doesn't work):
- Command:
/full/path/to/python - Args:
["-m", "doctah_mcp.server"] - Cwd:
/path/to/doctah-mcp-folder
- Command:
⚙️ Configuration
Configure through environment variables:
| Variable | Purpose | Default |
|---|---|---|
| LOG_LEVEL | Logging level | INFO |
🧪 Testing
Run the test suite:
python -m pytest
📄 License
Released under the MIT License. See the LICENSE file for details.
📖 Detailed Setup Guides
Need more detailed configuration and troubleshooting? Check out:
