RAT MCP Server
딥시크-싱킹-클로드-3.5-소네트-클라인-MCP
DeepSeek R1의 추론 기능과 OpenRouter를 통한 Claude 3.5 Sonnet의 응답 생성 기능을 결합한 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 구현은 DeepSeek이 구조화된 추론을 제공하고, 이를 Claude의 응답 생성에 통합하는 2단계 프로세스를 사용합니다.
특징
2단계 처리 :
초기 추론을 위해 DeepSeek R1을 사용합니다(50k 문자 컨텍스트)
최종 응답을 위해 Claude 3.5 Sonnet를 사용합니다(60만 자 컨텍스트)
두 모델 모두 OpenRouter의 통합 API를 통해 접근 가능
DeepSeek의 추론 토큰을 Claude의 컨텍스트에 주입합니다.
스마트 대화 관리 :
파일 수정 시간을 사용하여 활성 대화를 감지합니다.
여러 개의 동시 대화를 처리합니다
종료된 대화를 자동으로 필터링합니다.
필요할 때 컨텍스트 클리어링을 지원합니다.
최적화된 매개변수 :
모델별 컨텍스트 제한:
DeepSeek: 집중 추론을 위한 50,000자
Claude: 포괄적인 응답의 경우 60만 자
권장 설정:
온도: 균형 잡힌 창의성을 위한 0.7
top_p: 전체 확률 분포의 경우 1.0
repetition_penalty: 반복을 방지하기 위해 1.0
Related MCP server: OpenRouter MCP Multimodal Server
설치
Smithery를 통해 설치
Smithery를 통해 Claude Desktop에 DeepSeek Thinking with Claude 3.5 Sonnet을 자동으로 설치하려면:
지엑스피1
수동 설치
저장소를 복제합니다.
git clone https://github.com/yourusername/Deepseek-Thinking-Claude-3.5-Sonnet-CLINE-MCP.git
cd Deepseek-Thinking-Claude-3.5-Sonnet-CLINE-MCP종속성 설치:
npm installOpenRouter API 키로
.env파일을 만듭니다.
# Required: OpenRouter API key for both DeepSeek and Claude models
OPENROUTER_API_KEY=your_openrouter_api_key_here
# Optional: Model configuration (defaults shown below)
DEEPSEEK_MODEL=deepseek/deepseek-r1 # DeepSeek model for reasoning
CLAUDE_MODEL=anthropic/claude-3.5-sonnet:beta # Claude model for responses서버를 빌드하세요:
npm run buildCline과 함께 사용
Cline MCP 설정에 다음을 추가합니다(일반적으로 ~/.vscode/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json ).
{
"mcpServers": {
"deepseek-claude": {
"command": "/path/to/node",
"args": ["/path/to/Deepseek-Thinking-Claude-3.5-Sonnet-CLINE-MCP/build/index.js"],
"env": {
"OPENROUTER_API_KEY": "your_key_here"
},
"disabled": false,
"autoApprove": []
}
}
}도구 사용
서버는 응답을 생성하고 모니터링하기 위한 두 가지 도구를 제공합니다.
응답 생성
다음 매개변수를 사용하여 응답을 생성하는 주요 도구:
{
"prompt": string, // Required: The question or prompt
"showReasoning"?: boolean, // Optional: Show DeepSeek's reasoning process
"clearContext"?: boolean, // Optional: Clear conversation history
"includeHistory"?: boolean // Optional: Include Cline conversation history
}응답_상태_확인
응답 생성 작업 상태를 확인하는 도구:
{
"taskId": string // Required: The task ID from generate_response
}응답 폴링
서버는 폴링 메커니즘을 사용하여 장기 실행 요청을 처리합니다.
초기 요청:
generate_response작업 ID와 함께 즉시 반환됩니다.응답 형식:
{"taskId": "uuid-here"}
상태 확인:
check_response_status사용하여 작업 상태를 폴링합니다.참고: 응답을 완료하는 데 최대 60초가 걸릴 수 있습니다.
상태는 보류 → 추론 → 응답 → 완료 순으로 진행됩니다.
Cline에서의 사용 예:
// Initial request
const result = await use_mcp_tool({
server_name: "deepseek-claude",
tool_name: "generate_response",
arguments: {
prompt: "What is quantum computing?",
showReasoning: true
}
});
// Get taskId from result
const taskId = JSON.parse(result.content[0].text).taskId;
// Poll for status (may need multiple checks over ~60 seconds)
const status = await use_mcp_tool({
server_name: "deepseek-claude",
tool_name: "check_response_status",
arguments: { taskId }
});
// Example status response when complete:
{
"status": "complete",
"reasoning": "...", // If showReasoning was true
"response": "..." // The final response
}개발
자동 재빌드를 사용한 개발의 경우:
npm run watch작동 원리
추론 단계(DeepSeek R1) :
OpenRouter의 추론 토큰 기능을 사용합니다.
추론을 캡처하는 동안 프롬프트가 '완료'를 출력하도록 수정되었습니다.
추론은 응답 메타데이터에서 추출됩니다.
반응 단계(클로드 3.5 소네트) :
원래 프롬프트와 DeepSeek의 추론을 수신합니다.
추론을 통합하여 최종 응답을 생성합니다.
대화 맥락과 기록을 유지합니다.
특허
MIT 라이센스 - 자세한 내용은 라이센스 파일을 참조하세요.
크레딧
스키라노 의 RAT(Retrieval Augmented Thinking) 개념을 기반으로, 구조화된 추론과 지식 검색을 통해 AI의 대응을 강화합니다.
이 구현은 DeepSeek R1의 추론 기능과 OpenRouter의 통합 API를 통한 Claude 3.5 Sonnet의 응답 생성 기능을 특별히 결합합니다.
Available Tools
2 toolscheck_response_statusB
Check the status of a response generation task
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | The task ID returned by generate_response |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool checks status but doesn't explain what the status values mean, whether it's read-only or has side effects, or any rate limits or authentication needs. This leaves significant gaps in understanding how the tool behaves beyond its basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy to grasp immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (checking task status) and the lack of annotations and output schema, the description is incomplete. It doesn't explain what status information is returned, potential outcomes, or error conditions, leaving the agent without enough context to fully understand the tool's behavior and results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'taskId' parameter clearly documented as 'The task ID returned by generate_response.' The description adds no additional parameter semantics beyond this, so it meets the baseline score of 3 where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('check') and resource ('status of a response generation task'), making it immediately understandable. However, it doesn't explicitly differentiate from its sibling tool 'generate_response' beyond the implied relationship, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by referencing 'taskId returned by generate_response,' suggesting this tool should be used after initiating a task with its sibling. However, it lacks explicit guidance on when to use it versus alternatives or any prerequisites beyond the task ID, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_responseC
Generate a response using DeepSeek's reasoning and Claude's response generation through OpenRouter.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | The user's input prompt | |
| showReasoning | No | Whether to include reasoning in response | |
| clearContext | No | Clear conversation history before this request | |
| includeHistory | No | Include Cline conversation history for context |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the AI models involved (DeepSeek and Claude) and the platform (OpenRouter), but doesn't describe key behavioral traits like rate limits, authentication needs, response format, error handling, or whether it's a read/write operation. The description adds some context about the implementation but lacks crucial operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core functionality without unnecessary words. It's appropriately sized for the tool's complexity and gets straight to the point. Every word earns its place by specifying both the action and the implementation method.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what the tool returns, how to interpret results, error conditions, or operational constraints. For a tool that presumably generates AI responses through external services, more context about response format, limitations, and integration details would be needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all 4 parameters. The description adds no parameter-specific information beyond what's in the schema. It doesn't explain how parameters interact (e.g., how 'clearContext' and 'includeHistory' relate) or provide usage examples. This meets the baseline of 3 when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Generate a response') and specifies the implementation method ('using DeepSeek's reasoning and Claude's response generation through OpenRouter'). It distinguishes from the sibling tool 'check_response_status' by focusing on generation rather than status checking. However, it doesn't specify what type of response is generated (e.g., text completion, analysis, etc.), keeping it at a 4 rather than a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to use it over other response generation methods or when the sibling tool 'check_response_status' would be appropriate. There's no context about use cases, prerequisites, or limitations, leaving the agent with minimal usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v1.0.0- First observed
check_response_status - First observed
generate_response
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one checks the status of a response generation task, while the other initiates the generation of a response. There is no overlap or ambiguity between these functions, making it easy for an agent to select the correct tool.
Both tools follow a consistent verb_noun naming pattern (check_response_status and generate_response), using snake_case throughout. The verbs 'check' and 'generate' appropriately describe their actions, and there are no deviations in style or convention.
With only 2 tools, the server feels thin for its apparent purpose of response generation through OpenRouter. A more complete surface might include tools for managing tasks, handling errors, or configuring parameters, but the current set is minimal and may limit agent workflows.
The tool surface is severely incomplete for response generation tasks. While it covers initiating and checking status, it lacks tools for canceling tasks, retrieving results beyond status, handling errors, or managing task history. This will likely cause agent failures in more complex scenarios.
Maintenance
Related MCP Connectors
Swift AI: Access a wide range of AI models⚡, including OpenAI 🤖,DeepSeek 🔍, Claude 🧠, Gemini 🌟, and.
Agent-to-agent reasoning-as-a-service: chain-of-thought, analysis, and decision support.
AI routing, memory, guardrails, and governance. Routes across Claude, GPT, Gemini.
Memory for deep conversational context across any platform
Related MCP Servers
- AlicenseBqualityDmaintenanceA Model Context Protocol server that combines DeepSeek R1's reasoning capabilities with Claude 3.5 Sonnet's response generation, enabling two-stage AI processing where DeepSeek's structured reasoning enhances Claude's final outputs.23MIT
- AlicenseBqualityAmaintenanceProvides chat and image analysis capabilities through OpenRouter.ai's diverse model ecosystem, enabling both text conversations and powerful multimodal image processing with various AI models.11409 npm95Apache 2.0
- AlicenseNot gradedqualityDmaintenanceProvides access to multiple AI models (Grok, Gemini 2.5 Pro, Kimi, Qwen3 Coder, GLM-4.5) through OpenRouter, enabling users to query different specialized models for reasoning, coding, translation, and general tasks with automatic fallback to free variants.9 npmMIT
- AlicenseAqualityCmaintenanceProvides advanced AI reasoning capabilities through step-by-step thinking framework, enabling complex problem-solving with dynamic thought revision, multi-path reasoning, and adaptive planning for sophisticated analysis tasks.1MIT