Record important information to long-term memory for learning user preferences, successful patterns, and error lessons. When you need to remember user preferences, save successful patterns, or record lessons from errors.
日本語の概要は準備中です。原文の説明を表示しています。
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Create MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. The quality of an MCP server is measured by how well it enables LLMs to accomplish real-world tasks.
Creating a high-quality MCP server involves five main phases:
API Coverage vs. Workflow Tools: Balance comprehensive API endpoint coverage with specialized workflow tools. Workflow tools can be more convenient for specific tasks, while comprehensive coverage gives agents flexibility to compose operations. Performance varies by client—some clients benefit from code execution that combines basic tools, while others work better with higher-level workflows. When uncertain, prioritize comprehensive API coverage.
Tool Naming and Discoverability:
Clear, descriptive tool names help agents find the right tools quickly. Use consistent prefixes (e.g., github_create_issue, github_list_repos) and action-oriented naming.
Context Management: Agents benefit from concise tool descriptions and the ability to filter/paginate results. Design tools that return focused, relevant data. Some clients support code execution which can help agents filter and process data efficiently.
Actionable Error Messages: Error messages should guide agents toward solutions with specific suggestions and next steps.
Navigate the MCP specification:
Start with the sitemap to find relevant pages: https://modelcontextprotocol.io/sitemap.xml
Then fetch specific pages with .md suffix for markdown format (e.g., https://modelcontextprotocol.io/specification/draft.md).
Key pages to review:
Recommended stack:
Load framework documentation:
For TypeScript (recommended):
https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.mdFor Python:
https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.mdUnderstand the API: Review the service's API documentation to identify key endpoints, authentication requirements, and data models. Use web search and WebFetch as needed.
Tool Selection: Prioritize comprehensive API coverage. List endpoints to implement, starting with the most common operations.
See language-specific guides for project setup:
Create shared utilities:
For each tool:
Input Schema:
Output Schema:
outputSchema where possible for structured datastructuredContent in tool responses (TypeScript SDK feature)Tool Description:
Implementation:
Annotations:
readOnlyHint: true/falsedestructiveHint: true/falseidempotentHint: true/falseopenWorldHint: true/falseReview for:
TypeScript:
npm run build to verify compilationnpx @modelcontextprotocol/inspectorPython:
python -m py_compile your_server.pySee language-specific guides for detailed testing approaches and quality checklists.
After implementing your MCP server, create comprehensive evaluations to test its effectiveness.
Load ✅ Evaluation Guide for complete evaluation guidelines.
Use evaluations to test whether LLMs can effectively use your MCP server to answer realistic, complex questions.
To create effective evaluations, follow the process outlined in the evaluation guide:
Ensure each question is:
Create an XML file with this structure:
<evaluation>
<qa_pair>
<question>Find discussions about AI model launches with animal codenames. One model needed a specific safety designation that uses the format ASL-X. What number X was being determined for the model named after a spotted wild cat?</question>
<answer>3</answer>
</qa_pair>
<!-- More qa_pairs... -->
</evaluation>
This step is mandatory. After building and testing the MCP server, you MUST register it into the OpenAkita system so the user can actually use it. Do NOT just show config snippets — call add_mcp_server to complete the registration.
Before registering, ensure all dependencies are installed:
Python:
pip install -r requirements.txt
TypeScript:
cd <project_dir> && npm install && npm run build
ALWAYS call add_mcp_server after building. This registers the server into the system and automatically attempts connection.
Python server (using python -m):
add_mcp_server(
name="<server-name>",
transport="stdio",
command="python",
args=["-m", "<module_name>"],
description="服务器描述",
env={"API_KEY": "xxx"}
)
Python server (using script path):
add_mcp_server(
name="<server-name>",
transport="stdio",
command="python",
args=["<absolute_path_to>/server.py"],
description="服务器描述"
)
TypeScript server (using npx):
add_mcp_server(
name="<server-name>",
transport="stdio",
command="npx",
args=["-y", "<package-name>"],
description="服务器描述"
)
TypeScript server (using node):
add_mcp_server(
name="<server-name>",
transport="stdio",
command="node",
args=["<absolute_path_to>/dist/index.js"],
description="服务器描述"
)
Remote HTTP server:
add_mcp_server(
name="<server-name>",
transport="streamable_http",
url="http://localhost:8080/mcp",
description="服务器描述"
)
After add_mcp_server returns:
connect_mcp_server("<server-name>") manuallylist_mcp_servers to confirm the server appears in the listcall_mcp_tool("<server-name>", "<tool_name>", {...}) to verify it worksImportant notes:
C:/Users/.../server.py not ./server.py)data/mcp/servers/<server-name>/SERVER_METADATA.jsonadd_mcp_server again — it will overwrite the previous configLoad these resources as needed during development:
https://modelcontextprotocol.io/sitemap.xml, then fetch specific pages with .md suffixhttps://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.mdhttps://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md🐍 Python Implementation Guide - Complete Python/FastMCP guide with:
@mcp.tool⚡ TypeScript Implementation Guide - Complete TypeScript guide with:
server.registerToolまだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Record important information to long-term memory for learning user preferences, successful patterns, and error lessons. When you need to remember user preferences, save successful patterns, or record lessons from errors.
日本語の概要は準備中です。原文の説明を表示しています。
Click page elements by CSS selector or text content. When you need to click buttons, links, or select options. PREREQUISITE - must use browser_navigate to open target page first.
日本語の概要は準備中です。原文の説明を表示しています。
Extract page content and element text from current webpage. When you need to read page information, get element values, scrape data, or verify page content.
日本語の概要は準備中です。原文の説明を表示しています。
List all open browser tabs with their index, URL and title. When you need to check what pages are open, manage multiple tabs, or find a specific tab to switch to.
日本語の概要は準備中です。原文の説明を表示しています。
Navigate browser to specified URL to open a webpage. When you need to open webpages or start web automation. PREREQUISITE - must call before browser_click/type operations. Auto-starts browser if not running.
日本語の概要は準備中です。原文の説明を表示しています。
Open new browser tab and navigate to URL (keeps current page open). When you need to open additional page without closing current, or multi-task across pages. PREREQUISITE - must confirm browser is running first.
日本語の概要は準備中です。原文の説明を表示しています。