mentor-mcp-server
멘토-MCP-서버
AI 기반 Deepseek-Reasoning(R1) 멘토링 기능을 통해 LLM 에이전트에게 제2 의견을 제공하는 모델 컨텍스트 프로토콜 서버입니다. 여기에는 Deepseek API를 통한 코드 검토, 디자인 비평, 작성 피드백, 아이디어 브레인스토밍 등이 포함됩니다. 전문가의 제2 의견과 실행 가능한 인사이트를 통해 LLM 에이전트의 성공을 지원하세요.
모델 컨텍스트 프로토콜
모델 컨텍스트 프로토콜(MCP)은 다음 간의 통신을 가능하게 합니다.
클라이언트 : Claude Desktop, IDE 및 기타 MCP 호환 클라이언트
서버 : 작업 관리 및 자동화를 위한 도구 및 리소스
LLM 에이전트 : 서버의 기능을 활용하는 AI 모델
Related MCP server: Senior Consult MCP
목차
특징
코드 분석
포괄적인 코드 검토
버그 감지 및 예방
스타일 및 모범 사례 평가
성능 최적화 제안
보안 취약성 평가
디자인 및 건축
UI/UX 디자인 비평
건축 다이어그램 분석
디자인 패턴 권장 사항
접근성 평가
일관성 검사
콘텐츠 향상
피드백 및 개선 사항 작성
문법 및 스타일 분석
문서 검토
콘텐츠 명확성 평가
구조적 권장 사항
전략 기획
기능 향상 브레인스토밍
접근 방식에 대한 두 번째 의견
혁신 제안
타당성 분석
사용자 가치 평가
설치
지엑스피1
구성
MCP 클라이언트 설정에 추가:
{
"mcpServers": {
"mentor": {
"command": "node",
"args": ["build/index.js"],
"env": {
"DEEPSEEK_API_KEY": "your_api_key",
"DEEPSEEK_MODEL": "deepseek-reasoner",
"DEEPSEEK_MAX_TOKENS": "8192",
"DEEPSEEK_MAX_RETRIES": "3",
"DEEPSEEK_TIMEOUT": "30000"
}
}
}
}환경 변수
변하기 쉬운 | 필수의 | 기본 | 설명 |
딥시크_API_키 | 예 | - | Deepseek API 키 |
딥시크_모델 | 예 | 딥시크 리저너 | Deepseek 모델명 |
딥시크_맥스_토큰 | 아니요 | 8192 | 요청당 최대 토큰 |
딥시크_최대_재시도 | 아니요 | 3 | 재시도 횟수 |
딥시크 타임아웃 | 아니요 | 30000 | 요청 시간 초과(ms) |
도구
코드 검토
<use_mcp_tool>
<server_name>mentor-mcp-server</server_name>
<tool_name>code_review</tool_name>
<arguments>
{
"file_path": "src/app.ts",
"language": "typescript"
}
</arguments>
</use_mcp_tool>디자인 비평
<use_mcp_tool>
<server_name>mentor-mcp-server</server_name>
<tool_name>design_critique</tool_name>
<arguments>
{
"design_document": "path/to/design.fig",
"design_type": "web UI"
}
</arguments>
</use_mcp_tool>글쓰기 피드백
<use_mcp_tool>
<server_name>mentor-mcp-server</server_name>
<tool_name>writing_feedback</tool_name>
<arguments>
{
"text": "Documentation content...",
"writing_type": "documentation"
}
</arguments>
</use_mcp_tool>기능 향상
<use_mcp_tool>
<server_name>mentor-mcp-server</server_name>
<tool_name>brainstorm_enhancements</tool_name>
<arguments>
{
"concept": "User authentication system"
}
</arguments>
</use_mcp_tool>예시
각 도구의 사용법과 출력에 대한 자세한 예는 예제 디렉토리에서 확인할 수 있습니다.
두 번째 의견 예 - 인증 시스템 요구 사항 분석
코드 검토 예 - 보안 및 성능 통찰력을 포함한 자세한 TypeScript 코드 검토
디자인 비평 사례 - 대시보드 디자인에 대한 포괄적인 UI/UX 피드백
피드백 작성 예시 - 문서 개선 제안
브레인스토밍 개선 사례 - 구현 세부 사항을 포함한 기능 아이디어
각 예제에는 요청 형식과 샘플 응답이 포함되어 있어 도구의 기능과 출력 구조를 보여줍니다.
개발
# Build TypeScript code
npm run build
# Start the server
npm run start
# Development with watch mode
npm run dev
# Clean build artifacts
npm run clean프로젝트 구조
src/
├── api/ # API integration modules
├── tools/ # Tool implementations
│ ├── second-opinion/
│ ├── code-review/
│ ├── design-critique/
│ ├── writing-feedback/
│ └── brainstorm-enhancements/
├── types/ # TypeScript type definitions
├── utils/ # Utility functions
├── config.ts # Server configuration
├── index.ts # Entry point
└── server.ts # Main server implementation특허
Apache 라이선스 2.0. 자세한 내용은 라이선스를 참조하세요.
Available Tools
5 toolsbrainstorm_enhancementsC
Generates creative ideas for improving a given concept, product, or feature, focusing on innovation, feasibility, and user value.
| Name | Required | Description | Default |
|---|---|---|---|
| concept | Yes | A description of the concept, product, or feature to enhance |
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 mentions the tool 'generates' ideas and focuses on certain criteria, but doesn't describe output format, potential limitations (e.g., idea count, quality), or any side effects like rate limits or authentication needs. This leaves significant gaps for a tool that produces creative content.
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 front-loads the core action and purpose without any wasted words. Every part of the sentence contributes to understanding the tool's function and focus areas.
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 lack of annotations and output schema, the description is incomplete for a creative generation tool. It doesn't explain what the output looks like (e.g., list of ideas, structured format), how many ideas are generated, or any behavioral constraints, leaving the agent with insufficient context for effective use.
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 schema description coverage is 100%, with the single parameter 'concept' well-documented in the schema. The description adds marginal value by reiterating that the concept is for 'enhancing' and specifying it can be a 'concept, product, or feature', but doesn't provide additional syntax or format details beyond what the schema already covers.
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 specific verbs ('Generates creative ideas for improving') and resources ('concept, product, or feature'), and specifies the focus areas ('innovation, feasibility, and user value'). However, it doesn't explicitly differentiate from sibling tools like 'design_critique' or 'second_opinion', which might also involve improvement suggestions.
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 like 'design_critique' or 'second_opinion', nor does it mention any prerequisites or exclusions. It implies usage for enhancement ideas but lacks explicit context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
code_reviewC
Provides a code review for a given file or code snippet, focusing on potential bugs, style issues, performance bottlenecks, and security vulnerabilities.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | No | The full path to the local file containing the code to review | |
| language | No | The programming language of the code | |
| code_snippet | No | Optional small code snippet for quick reviews (alternative to file_path) |
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 what the review focuses on (bugs, style, performance, security) but doesn't describe the output format, depth of analysis, whether it modifies code, authentication needs, rate limits, or error handling. For a tool with no annotations, this leaves significant behavioral gaps.
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 front-loads the core purpose and lists key focus areas. Every word earns its place with zero redundancy or wasted text. It's appropriately sized for this tool's complexity.
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 no annotations and no output schema, the description is incomplete for this tool's complexity. It doesn't explain what the review output looks like (structured report? list of issues?), depth of analysis, or limitations. For a code review tool with 3 parameters and no structured output documentation, the description should provide more contextual information.
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 documents all three parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain trade-offs between file_path vs code_snippet, or language-specific considerations). Baseline 3 is appropriate when 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: 'Provides a code review' with specific focus areas (bugs, style, performance, security). It uses a specific verb ('Provides') and resource ('code review'), but doesn't explicitly differentiate from sibling tools like 'design_critique' or 'second_opinion' which might overlap in scope.
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 choose 'code_review' over 'design_critique' or 'second_opinion', nor does it specify prerequisites or exclusions. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
design_critiqueB
Offers a critique of a design document, UI/UX mockup, or architectural diagram, focusing on usability, aesthetics, consistency, accessibility, and potential design flaws.
| Name | Required | Description | Default |
|---|---|---|---|
| design_document | Yes | A description or URL to the design document/image | |
| design_type | Yes | Type of design (e.g., 'web UI', 'system architecture', 'mobile app') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the tool 'offers a critique' but doesn't disclose behavioral traits such as output format, depth of analysis, whether it's automated or human-like, potential limitations, or how it handles different design types. For a critique tool with zero annotation coverage, this leaves significant gaps in understanding its operation.
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 front-loads the purpose and key details without waste. It clearly states what the tool does, the input types, and focus areas, making it easy to parse and understand quickly.
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 complexity of a critique tool (which could involve subjective analysis), no annotations, no output schema, and 2 parameters with full schema coverage, the description is incomplete. It doesn't explain what the critique output looks like, any limitations, or how it integrates with sibling tools. For a tool that provides feedback, more context on behavior and results is 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 documents both parameters ('design_document' and 'design_type') with descriptions. The description adds no additional meaning beyond what the schema provides, such as examples or constraints for parameter values. Baseline 3 is appropriate when 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: 'Offers a critique' of design artifacts, specifying the types (document, mockup, diagram) and focus areas (usability, aesthetics, consistency, accessibility, flaws). It distinguishes from siblings like 'brainstorm_enhancements' by focusing on critique rather than ideation, but doesn't explicitly name alternatives. This is clear but lacks explicit sibling differentiation.
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 through the specified design types and focus areas, suggesting it's for evaluating design quality. However, it doesn't explicitly state when to use this tool versus alternatives like 'second_opinion' (which might overlap) or 'code_review' (for code). No guidance on prerequisites or exclusions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
second_opinionC
Provides a second opinion on a user's request by analyzing it with an LLM and listing critical considerations.
| Name | Required | Description | Default |
|---|---|---|---|
| user_request | Yes | The user's original request (e.g., 'Explain Python to me' or 'Build a login system') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool uses an LLM and lists critical considerations, but doesn't describe important traits like whether it's read-only or has side effects, what format the output takes, potential rate limits, or authentication needs. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.
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 clearly states the tool's function. It's appropriately sized for a simple tool with one parameter, though it could potentially be more front-loaded with additional context about when to use it. There's no wasted verbiage or redundancy.
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 moderate complexity (analyzing requests with LLM), lack of annotations, and no output schema, the description is minimally adequate but has clear gaps. It explains what the tool does but doesn't cover behavioral aspects, usage context, or output format. For a tool that presumably returns LLM-generated analysis, more detail about the nature of the 'critical considerations' would be helpful.
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 schema description coverage is 100%, with the single parameter 'user_request' well-documented in the schema. The description doesn't add any meaningful information about parameters beyond what the schema already provides (e.g., it doesn't clarify what constitutes a valid 'user_request' or provide examples beyond those in the schema). With high schema coverage, the baseline score of 3 is appropriate.
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: 'Provides a second opinion on a user's request by analyzing it with an LLM and listing critical considerations.' It specifies the action (provides second opinion), method (analyzing with LLM), and output (listing critical considerations). However, it doesn't explicitly differentiate from sibling tools like 'design_critique' or 'writing_feedback' which might also provide analytical feedback.
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 offers no guidance on when to use this tool versus alternatives. With sibling tools like 'brainstorm_enhancements', 'code_review', 'design_critique', and 'writing_feedback' available, there's no indication of what makes 'second_opinion' distinct or when it's the appropriate choice. The description implies usage for analyzing user requests but doesn't specify context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
writing_feedbackC
Provides feedback on a piece of writing, such as an essay, article, or technical documentation, focusing on clarity, grammar, style, structure, and overall effectiveness.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The text to review | |
| writing_type | Yes | The type of writing (e.g., 'essay', 'article', 'documentation') |
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. While it states what the tool does (provides feedback), it doesn't describe how it behaves: no information about response format, depth of analysis, whether it's generative or evaluative, processing time, or any limitations. This is inadequate for a tool with no annotation coverage.
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 appropriately concise - a single sentence that efficiently communicates the core functionality. It's front-loaded with the main purpose and includes relevant examples. There's no wasted verbiage or redundant information.
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 no annotations and no output schema, the description is incomplete. For a feedback tool with 2 parameters, it should explain what kind of feedback to expect, response format, or any constraints. The description covers what the tool does but not how it works or what it returns, leaving significant gaps for agent understanding.
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 documents both parameters fully. The description adds no additional parameter semantics beyond what's in the schema - it mentions writing types but doesn't elaborate on format expectations, length constraints, or special requirements. Baseline 3 is appropriate when 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: 'Provides feedback on a piece of writing' with specific focus areas (clarity, grammar, style, structure, effectiveness). It distinguishes from sibling tools like code_review and design_critique by specifying writing domains (essay, article, technical documentation). However, it doesn't explicitly differentiate from second_opinion which could also provide feedback.
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 choose writing_feedback over brainstorm_enhancements, code_review, design_critique, or second_opinion. There are no explicit when/when-not statements or alternative recommendations.
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.
5 tool updates
v1.0.0- First observed
brainstorm_enhancements - First observed
code_review - First observed
design_critique - First observed
second_opinion - First observed
writing_feedback
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose targeting different domains: brainstorming, code review, design critique, second opinions, and writing feedback. There is no overlap in functionality, making it easy for an agent to select the appropriate tool without confusion.
All tool names follow a consistent snake_case pattern with a clear verb_noun structure (e.g., brainstorm_enhancements, code_review). This predictability enhances usability and aligns with common MCP conventions.
With 5 tools, the server is well-scoped for its mentoring/feedback purpose. Each tool serves a unique and valuable function, avoiding bloat while covering key areas like code, design, writing, and idea generation.
The toolset covers major feedback domains (code, design, writing, brainstorming) and includes a general second_opinion tool. A minor gap is the lack of a tool for project management or strategic planning feedback, but core mentoring workflows are well-supported.
Maintenance
Related MCP Connectors
- OolkinOAuthcom.oolkin
AI colleagues that keep your standards, your project and their reasoning between sessions
Create and manage AI agents that collaborate and solve problems through natural language interacti…
Turn PRDs and product ideas into structured specs so coding agents build your intent, not theirs.
Roast any AI agent idea from your IDE: verdict tier, readiness score, top risk, shareable URL.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides code generation and completion capabilities using the DeepSeek API, with support for tool chaining and cost optimization.31 npm5MIT
- AlicenseBqualityDmaintenanceEnables AI agents to consult expert models (Claude, GPT, Gemini, DeepSeek, Z.ai) for technical guidance, code reviews, and architectural advice without switching context.45 npm4MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI-powered code review and improvement, including analysis, refactoring suggestions, and automatic test generation, with an optional agentic loop for iterative refinement.MIT
- AlicenseAqualityDmaintenanceProvides AI tools for chat, code review, idea evaluation, explanation, summarization, and debugging by automating DeepSeek AI through Playwright.631 npmMIT