[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-f--mcptools":3,"tool-f--mcptools":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",155373,2,"2026-04-14T11:34:08",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":99,"forks":100,"last_commit_at":101,"license":102,"difficulty_score":32,"env_os":103,"env_gpu":104,"env_ram":104,"env_deps":105,"category_tags":112,"github_topics":113,"view_count":32,"oss_zip_url":117,"oss_zip_packed_at":117,"status":17,"created_at":118,"updated_at":119,"faqs":120,"releases":151},7490,"f\u002Fmcptools","mcptools","A command-line interface for interacting with MCP (Model Context Protocol) servers using both stdio and HTTP transport.","mcptools 是一款专为模型上下文协议（MCP）打造的命令行“瑞士军刀”，旨在让开发者轻松与各类 MCP 服务器进行交互。它解决了在开发过程中调试、测试及管理 MCP 服务时缺乏统一高效工具的痛点，让用户无需编写复杂代码即可快速发现、调用和管理服务器提供的工具、资源及提示词。\n\n这款工具特别适合 AI 应用开发者、后端工程师以及需要集成大模型能力的研究人员使用。无论是通过标准输入输出（stdio）还是 HTTP 传输，mcptools 都能灵活适配。其独特亮点在于强大的扩展能力：支持创建模拟服务器以测试客户端应用，能将 MCP 请求代理到 Shell 脚本以实现低成本扩展，甚至提供“守卫模式”来限制特定工具的访问权限。此外，它还内置了交互式 Shell、Web 界面以及项目脚手架功能，支持多种输出格式，极大提升了调试效率与工作流体验。如果你正在构建或维护基于 MCP 的生态应用，mcptools 将是不可或缺的得力助手。","\u003Cp align=\"center\">\n  \u003Cimg src=\".\u002F.github\u002Fresources\u002Flogo.png\" alt=\"MCP Tools\" height=\"150\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ch1 align=\"center\">Swiss Army Knife for MCP Servers\u003C\u002Fh1>\n  \u003Cp align=\"center\">\n    A comprehensive command-line interface for interacting with MCP (Model Context Protocol) servers.\n    \u003Cbr>\n    Discover, call, and manage tools, resources, and prompts from any MCP-compatible server.\n    \u003Cbr>\n    Supports multiple transport methods, output formats, and includes powerful mock and proxy server capabilities.\n  \u003C\u002Fp>\n\u003C\u002Fp>\n\n[![Blog Post](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBlog-Read%20about%20MCP%20Tools-blue)](https:\u002F\u002Fblog.fka.dev\u002Fblog\u002F2025-03-27-mcp-inspector-vs-mcp-tools\u002F)\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Difference Between the MCP Inspector and MCP Tools](https:\u002F\u002Fblog.fka.dev\u002Fblog\u002F2025-03-27-mcp-inspector-vs-mcp-tools\u002F)\n- [Installation](#installation)\n  - [Using Homebrew](#using-homebrew)\n  - [From Source](#from-source)\n- [Getting Started](#getting-started)\n- [Features](#features)\n  - [Transport Options](#transport-options)\n  - [Output Formats](#output-formats)\n  - [Commands](#commands)\n  - [Interactive Shell](#interactive-shell)\n  - [Web Interface](#web-interface)\n  - [Project Scaffolding](#project-scaffolding)\n- [Server Aliases](#server-aliases)\n- [LLM Apps Config Management](#llm-apps-config-management)\n- [Server Modes](#server-modes)\n  - [Mock Server Mode](#mock-server-mode)\n  - [Proxy Mode](#proxy-mode)\n  - [Guard Mode](#guard-mode)\n- [Examples](#examples)\n  - [Basic Usage](#basic-usage)\n  - [Script Integration](#script-integration)\n  - [Debugging](#debugging)\n- [Contributing](#contributing)\n- [Roadmap](#roadmap)\n- [License](#license)\n\n## Overview\n\nMCP Tools provides a versatile CLI for working with Model Context Protocol (MCP) servers. It enables you to:\n\n- Discover and call tools provided by MCP servers\n- Access and utilize resources exposed by MCP servers\n- Create mock servers for testing client applications\n- Proxy MCP requests to shell scripts for easy extensibility\n- Create interactive shells for exploring and using MCP servers\n- Scaffold new MCP projects with TypeScript support\n- Format output in various styles (JSON, pretty-printed, table)\n- Guard and restrict access to specific tools and resources\n- Support all transport methods (HTTP, stdio)\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\".github\u002Fresources\u002Fscreenshot.png\" alt=\"MCP Tools Screenshot\" width=\"700\">\n\u003C\u002Fp>\n\n## Installation\n\n### Using Homebrew (for macOS)\n\n```bash\nbrew tap f\u002Fmcptools\nbrew install mcp\n```\n\n> ❕ The binary is installed as `mcp` but can also be accessed as `mcpt` to avoid conflicts with other tools that might use the `mcp` command name.\n\n### From Source (for Windows and GNU\u002FLinux)\n\n```bash\ngo install github.com\u002Ff\u002Fmcptools\u002Fcmd\u002Fmcptools@latest\n```\n\n> ❕ The binary will be installed as `mcptools` when but can be aliased to `mcpt` for convenience.\n> \n> \u003Cimg width=\"500\" alt=\"Screenshot 2025-05-05 at 22 21 29\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ff_mcptools_readme_098da579fbe0.png\" \u002F>\n> \n> \u003Csub>Windows 11 Running Example\u003C\u002Fsub>\n\n## Getting Started\n\nThe simplest way to start using MCP Tools is to connect to an MCP server and list available tools:\n\n```bash\n# List all available tools from a filesystem server\nmcp tools npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n\n# Call a specific tool\nmcp call read_file --params '{\"path\":\"README.md\"}' npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n\n# Open an interactive shell\nmcp shell npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n## Features\n\nMCP Tools supports a wide range of features for interacting with MCP servers:\n\n```\nUsage:\n  mcp [command]\n\nAvailable Commands:\n  version       Print the version information\n  tools         List available tools on the MCP server\n  resources     List available resources on the MCP server\n  prompts       List available prompts on the MCP server\n  call          Call a tool, resource, or prompt on the MCP server\n  get-prompt    Get a prompt on the MCP server\n  read-resource Read a resource on the MCP server\n  shell         Start an interactive shell for MCP commands\n  web           Start a web interface for MCP commands\n  mock          Create a mock MCP server with tools, prompts, and resources\n  proxy         Proxy MCP tool requests to shell scripts\n  alias         Manage MCP server aliases\n  configs       Manage MCP server configurations\n  new           Create a new MCP project component\n  help          Help about any command\n  completion    Generate the autocompletion script for the specified shell\n\nFlags:\n  -f, --format string   Output format (table, json, pretty) (default \"table\")\n  -h, --help            help for mcp\n  -p, --params string   JSON string of parameters to pass to the tool (for call command) (default \"{}\")\n\nUse \"mcp [command] --help\" for more information about a command.\n```\n\n### Transport Options\n\nMCP Tools supports multiple transport methods for communicating with MCP servers:\n\n#### Stdio Transport\n\nUses stdin\u002Fstdout to communicate with an MCP server via JSON-RPC 2.0. This is useful for command-line tools that implement the MCP protocol.\n\n```bash\nmcp tools npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n#### HTTP SSE Transport\n\nUses HTTP and Server-Sent Events (SSE) to communicate with an MCP server via JSON-RPC 2.0. This is useful for connecting to remote servers that implement the legacy MCP protocol. Transport is automatically detected when the URL ends with `\u002Fsse`.\n\n```bash\nmcp tools http:\u002F\u002Flocalhost:3001\u002Fsse\n\n# Example: Use the everything sample server\n# docker run -p 3001:3001 --rm -it tzolov\u002Fmcp-everything-server:v1\n```\n\n_Note:_ HTTP SSE currently supports only MCP protocol version 2024-11-05.\n\n#### Streamable HTTP Transport (Recommended)\n\nUses streamable HTTP to communicate with an MCP server via JSON-RPC 2.0. This is the modern, recommended approach for connecting to remote servers that implement the MCP protocol. It supports both streaming responses and simple request\u002Fresponse patterns. This is the default transport for HTTP\u002FHTTPS URLs.\n\n```bash\n# Default transport for HTTP URLs\nmcp tools http:\u002F\u002Flocalhost:3000\n\n# Streamable HTTP transport (auto-detected from URL)\nmcp tools http:\u002F\u002Flocalhost:3000\n\n# Examples with remote servers\nmcp tools https:\u002F\u002Fapi.example.com\u002Fmcp\nmcp tools https:\u002F\u002Fne.tools\n```\n\n_Benefits of Streamable HTTP:_\n- **Session Management**: Supports stateful connections with session IDs\n- **Resumability**: Can reconnect and resume interrupted sessions (when supported by server)\n- **Flexible Responses**: Supports both streaming and direct JSON responses\n- **Modern Protocol**: Uses the latest MCP transport specification\n\n### Output Formats\n\nMCP Tools supports three output formats to accommodate different needs:\n\n#### Table Format (Default)\n\n```bash\nmcp tools npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\nThe default format now displays tools in a colorized man-page style:\n\n```\nread_file(path:str)\n     Read the complete contents of a file from the file system.\nread_multiple_files(paths:str[])\n     Read the contents of multiple files simultaneously.\nlist_dir(path:str)\n     Lists the contents of a directory.\nwrite_file(path:str, content:str)\n     Writes content to a file.\ngrep_search(pattern:str, [excludePatterns:str[]])\n     Search files with pattern.\nedit_file(edits:{newText:str,oldText:str}[], path:str)\n     Edit a file with multiple text replacements\n```\n\nKey features of the format:\n- Function names are displayed in bold cyan\n- Required parameters are shown in green (e.g., `path:str`)\n- Optional parameters are shown in yellow brackets (e.g., `[limit:int]`)\n- Array types are indicated with `[]` suffix (e.g., `str[]`)\n- Object types show their properties in curly braces (e.g., `{prop1:type1,prop2:type2}`)\n- Nested objects are displayed recursively (e.g., `{notifications:{enabled:bool,sound:bool}}`)\n- Type names are shortened for readability (e.g., `str` instead of `string`, `int` instead of `integer`)\n- Descriptions are indented and displayed in gray\n- Parameter order is consistent, with required parameters listed first\n\n#### JSON Format (Compact)\n\n```bash\nmcp tools --format json npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n#### Pretty JSON Format (Indented)\n\n```bash\nmcp tools --format pretty npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n### Commands\n\nMCP Tools includes several core commands for interacting with MCP servers:\n\n#### List Available Tools\n\n```bash\nmcp tools npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n#### List Available Resources\n\n```bash\nmcp resources npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n#### List Available Prompts\n\n```bash\nmcp prompts npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n#### Call a Tool\n\n```bash\nmcp call read_file --params '{\"path\":\"\u002Fpath\u002Fto\u002Ffile\"}' npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n#### Call a Resource\n\n```bash\nmcp call resource:test:\u002F\u002Fstatic\u002Fresource\u002F1 npx -y @modelcontextprotocol\u002Fserver-everything -f json | jq \".contents[0].text\"\n```\n\nor\n\n```bash\nmcp read-resource test:\u002F\u002Fstatic\u002Fresource\u002F1 npx -y @modelcontextprotocol\u002Fserver-everything -f json | jq \".contents[0].text\"\n```\n\n#### Call a Prompt\n\n```bash\nmcp get-prompt simple_prompt npx -y @modelcontextprotocol\u002Fserver-everything -f json | jq \".messages[0].content.text\"\n```\n\n#### Viewing Server Logs\n\nWhen using client commands that make calls to the server, you can add the `--server-logs` flag to see the server logs related to your request:\n\n```bash\n# View server logs when listing tools\nmcp tools --server-logs npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\nOutput:\n```\n[>] Secure MCP Filesystem Server running on stdio\n[>] Allowed directories: [ '\u002FUsers\u002Ffka\u002F' ]\nread_file(path:str)\n     Read the complete contents of a file from the file system.\nread_multiple_files(paths:str[])\n     Read the contents of multiple files simultaneously.\n... and the other tools available on this server\n```\n\nThis can be helpful for debugging or understanding what's happening on the server side when executing these commands.\n\n### Interactive Shell\n\nThe interactive shell mode allows you to run multiple MCP commands in a single session:\n\n```bash\nmcp shell npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\nThis opens an interactive shell with the following capabilities:\n\n```\nmcp tools shell\nconnected to: npx -y @modelcontextprotocol\u002Fserver-filesystem \u002FUsers\u002Ffka\n\nmcp > Type '\u002Fh' for help or '\u002Fq' to quit\nmcp > tools\nread_file(path:str, [limit:int], [offset:int])\n     Reads a file from the filesystem\n\nlist_dir(path:str)\n     Lists directory contents\n\ngrep_search(pattern:str, [excludePatterns:str[]])\n     Search files with pattern\n\nedit_file(edits:{newText:str,oldText:str}[], path:str)\n     Edit a file with multiple text replacements\n\n# Direct tool calling is supported\nmcp > read_file {\"path\":\"README.md\"}\n...content of README.md...\n\n# Calling a tool with complex object parameters\nmcp > edit_file {\"path\":\"main.go\",\"edits\":[{\"oldText\":\"foo\",\"newText\":\"bar\"}]}\n...result of edit operation...\n\n# Get help\nmcp > \u002Fh\nMCP Shell Commands:\n  tools                      List available tools\n  resources                  List available resources\n  prompts                    List available prompts\n  call \u003Centity> [--params '{...}']  Call a tool, resource, or prompt\n  format [json|pretty|table] Get or set output format\nSpecial Commands:\n  \u002Fh, \u002Fhelp                  Show this help\n  \u002Fq, \u002Fquit, exit            Exit the shell\n```\n\n### Web Interface\n\nMCP Tools provides a web interface for interacting with MCP servers through a browser-based UI:\n\n```bash\n# Start a web interface for a filesystem server on default port (41999)\nmcp web npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n\n# Use a custom port\nmcp web --port 8080 docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io\u002Fgithub\u002Fgithub-mcp-server\n\n# Use SSE\nmcp web https:\u002F\u002Fne.tools\n```\n\nThe web interface includes:\n\n- A sidebar listing all available tools, resources, and prompts\n- Form-based and JSON-based parameter editing\n- Formatted and raw JSON response views\n- Interactive parameter forms automatically generated from tool schemas\n- Support for complex parameter types (arrays, objects, nested structures)\n- Direct API access for tool calling\n\nOnce started, you can access the interface by opening `http:\u002F\u002Flocalhost:41999` (or your custom port) in a browser.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\".github\u002Fresources\u002Fweb-interface.png\" alt=\"MCP Web Interface\" width=\"700\">\n\u003C\u002Fp>\n\n### Project Scaffolding\n\nMCP Tools provides a scaffolding feature to quickly create new MCP servers with TypeScript:\n\n```bash\nmkdir my-mcp-server\ncd my-mcp-server\n\n# Create a project with specific components\nmcp new tool:calculate resource:file prompt:greet\n\n# Create a project with a specific SDK (currently only TypeScript\u002Fts supported)\nmcp new tool:calculate --sdk=ts\n\n# Create a project with a specific transport type\nmcp new tool:calculate --transport=stdio\nmcp new tool:calculate --transport=sse\n```\n\nThe scaffolding creates a complete project structure with:\n\n- Server setup with chosen transport (stdio or SSE)\n- TypeScript configuration with modern ES modules\n- Component implementations with proper MCP interfaces\n- Automatic wiring of imports and initialization\n\nAfter scaffolding, you can build and run your MCP server:\n\n```bash\n# Install dependencies\nnpm install\n\n# Build the TypeScript code\nnpm run build\n\n# Test the server with MCP Tools\nmcp tools node build\u002Findex.js\n```\n\nProject templates are stored in either:\n- Local `.\u002Ftemplates\u002F` directory\n- User's home directory: `~\u002F.mcpt\u002Ftemplates\u002F`\n- Homebrew installation path (`\u002Fopt\u002Fhomebrew\u002FCellar\u002Fmcp\u002Fv#.#.#\u002Ftemplates`)\n\nWhen installing via Homebrew, templates are automatically installed to your home directory. But if you use source install, you need to run `make install-templates`.\n\n## Server Aliases\n\nMCP Tools allows you to save and reuse server commands with friendly aliases:\n\n```bash\n# Add a new server alias\nmcp alias add myfs npx -y @modelcontextprotocol\u002Fserver-filesystem ~\u002F\n\n# List all registered server aliases\nmcp alias list\n\n# Remove a server alias\nmcp alias remove myfs\n\n# Use an alias with any MCP command\nmcp tools myfs\nmcp call read_file --params '{\"path\":\"README.md\"}' myfs\n```\n\nServer aliases are stored in `$HOME\u002F.mcpt\u002Faliases.json` and provide a convenient way to work with commonly used MCP servers without typing long commands repeatedly.\n\n## LLM Apps Config Management\n\nMCP Tools provides a powerful configuration management system that helps you work with MCP server configurations across multiple applications:\n\n> 🚧 This works only on macOS for now.\n\n```bash\n# Scan for MCP server configurations across all supported applications\nmcp configs scan\n\n# List all configurations (alias for configs view --all)\nmcp configs ls\n\n# View specific configuration by alias\nmcp configs view vscode\n\n# Add or update a server in a configuration\nmcp configs set vscode my-server npm run mcp-server\nmcp configs set cursor my-api https:\u002F\u002Fapi.example.com\u002Fmcp --headers \"Authorization=Bearer token\"\n\n# Add to multiple configurations at once\nmcp configs set vscode,cursor,claude-desktop my-server npm run mcp-server\n\n# Remove a server from a configuration\nmcp configs remove vscode my-server\n\n# Create an alias for a custom config file\nmcp configs alias myapp ~\u002Fmyapp\u002Fconfig.json\n\n# Synchronize and merge configurations from multiple sources\nmcp configs sync vscode cursor --output vscode --default interactive\n\n# Convert a command line to MCP server JSON configuration format\nmcp configs as-json mcp proxy start\n# Output: {\"command\":\"mcp\",\"args\":[\"proxy\",\"start\"]}\n\n# Convert a URL to MCP server JSON configuration format\nmcp configs as-json https:\u002F\u002Fapi.example.com\u002Fmcp --headers \"Authorization=Bearer token\"\n# Output: {\"url\":\"https:\u002F\u002Fapi.example.com\u002Fmcp\",\"headers\":{\"Authorization\":\"Bearer token\"}}\n```\n\nConfigurations are managed through a central registry in `$HOME\u002F.mcpt\u002Fconfigs.json` with predefined aliases for:\n- VS Code and VS Code Insiders\n- Windsurf\n- Cursor\n- Claude Desktop and Claude Code\n\nThe system automatically displays server configurations in a colorized format grouped by source, showing command-line or URL information, headers, and environment variables.\n\n`mcp configs scan` command looks for MCP server configurations in:\n- Visual Studio Code\n- Visual Studio Code Insiders\n- Windsurf\n- Cursor\n- Claude Desktop\n\nExample Output:\n```\nVS Code Insiders\n  GitHub (stdio):\n    docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io\u002Fgithub\u002Fgithub-mcp-server\n\nClaude Desktop\n  Proxy (stdio):\n    mcp proxy start\n\n  My Files (stdio):\n    npx -y @modelcontextprotocol\u002Fserver-filesystem ~\u002F\n```\n\n### Bonus\n\nAdd official GitHub MCP Server to Windsurf, Cursor and VS Code at once:\n\n```bash\nmcp configs set windsurf,cursor,vscode GitHub \\\n  --env \"GITHUB_PERSONAL_ACCESS_TOKEN=github_pat_xxx\" \\\n  docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io\u002Fgithub\u002Fgithub-mcp-server\n```\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\".github\u002Fresources\u002Fconfigs.png\" alt=\"MCP Configs Screenshot\" width=\"700\">\n\u003C\u002Fp>\n\n## Server Modes\n\nMCP Tools can operate as both a client and a server, with two server modes available:\n\n### Mock Server Mode\n\nThe mock server mode creates a simulated MCP server for testing clients without implementing a full server:\n\n```bash\n# Create a mock server with a simple tool\nmcp mock tool hello_world \"A simple greeting tool\"\n\n# Create a mock server with multiple entity types\nmcp mock tool hello_world \"A greeting tool\" \\\n       prompt welcome \"A welcome prompt\" \"Hello {{name}}, welcome to {{location}}!\" \\\n       resource docs:\u002F\u002Freadme \"Documentation\" \"Mock MCP Server\\nThis is a mock server\"\n```\n\nFeatures of the mock server:\n\n- Full initialization handshake\n- Tool listing with standardized schema\n- Tool calling with simple responses\n- Resource listing and reading\n- Prompt listing and retrieval with argument substitution\n- Detailed request\u002Fresponse logging to `~\u002F.mcpt\u002Flogs\u002Fmock.log`\n\n#### Using Prompt Templates\n\nFor prompts, any text in `{{double_braces}}` is automatically detected as an argument:\n\n```bash\n# Create a prompt with name and location arguments\nmcp mock prompt greeting \"Greeting template\" \"Hello {{name}}! Welcome to {{location}}.\"\n```\n\nWhen a client requests the prompt, it can provide values for these arguments which will be substituted in the response.\n\n### Proxy Mode\n\nThe proxy mode allows you to register shell scripts or inline commands as MCP tools, making it easy to extend MCP functionality without writing code:\n\n```bash\n# Register a shell script as an MCP tool\nmcp proxy tool add_operation \"Adds a and b\" \"a:int,b:int\" .\u002Fexamples\u002Fadd.sh\n\n# Register an inline command as an MCP tool\nmcp proxy tool add_operation \"Adds a and b\" \"a:int,b:int\" -e 'echo \"total is $a + $b = $(($a+$b))\"'\n\n# Register an inline command as an MCP tool with optional parameter\n mcpt proxy tool add_operation \"Adds a and b with optional result msg\" \"a:int,b:int,[msg:string]\" -e 'echo \"$msg$a + $b = $(($a+$b))\"'\n\n# Unregister a tool\nmcp proxy tool --unregister add_operation\n\n# Start the proxy server\nmcp proxy start\n```\n\nRunning `mcp tools localhost:3000` with the proxy server will show the registered tools with their parameters:\n\n```\nadd_operation(a:int, b:int)\n     Adds a and b\n\ncount_files(dir:str, [include:str[]])\n     Counts files in a directory with optional filters\n```\n\nThis new format clearly shows what parameters each tool accepts, making it easier to understand how to use them. Arrays are denoted with `[]` suffix (e.g., `str[]`), and type names are shortened for better readability.\n\n#### How It Works\n\n1. Register a shell script or inline command with a tool name, description, and parameter specification\n2. Start the proxy server, which implements the MCP protocol\n3. When a tool is called, parameters are passed as environment variables to the script\u002Fcommand\n4. The script\u002Fcommand's output is returned as the tool response\n5.  If the script's output is a base64-encoded PNG image (prefixed with `data:image\u002Fpng;base64,`), it is returned as an [ImageContent](https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-06-18\u002Fserver\u002Fprompts#image-content) object.\n\n\n#### Example Scripts and Commands\n\n**Adding Numbers (add.sh):**\n\n```bash\n#!\u002Fbin\u002Fbash\n# Get values from environment variables\nif [ -z \"$a\" ] || [ -z \"$b\" ]; then\n  echo \"Error: Missing required parameters 'a' or 'b'\"\n  exit 1\nfi\n\n# Perform the addition\nresult=$(($a + $b))\necho \"The sum of $a and $b is $result\"\n```\n\n**Generating a QR Code**\n\nThis example requires a tool like `qrencode` to be installed.\n\n```bash\n# Register a tool to generate a QR code\nmcp proxy tool qrcode \"Generates a QR code\" \"text:string\" \\\n  -e 'echo -e \"data:image\u002Fpng;base64,$(qrencode -t png -o - \"$text\" | base64 -w 0)\"'\n```\n\n**Inline Command Example:**\n\n```bash\n# Simple addition\nmcp proxy tool add_op \"Adds given numbers\" \"a:int,b:int\" -e 'echo \"total is $a + $b = $(($a+$b))\"'\n\n# Customized greeting\nmcp proxy tool greet \"Greets a user\" \"name:string,greeting:string,formal:bool\" -e '\nif [ \"$formal\" = \"true\" ]; then\n  title=\"Mr.\u002FMs.\"\n  echo \"${greeting:-Hello}, ${title} ${name}. How may I assist you today?\"\nelse\n  echo \"${greeting:-Hello}, ${name}! Nice to meet you!\"\nfi\n'\n\n# File operations\nmcp proxy tool count_lines \"Counts lines in a file\" \"file:string\" -e \"wc -l \u003C \\\"$file\\\"\"\n```\n\n#### Configuration and Logging\n\n- Tools are registered in `~\u002F.mcpt\u002Fproxy_config.json`\n- The proxy server logs all requests and responses to `~\u002F.mcpt\u002Flogs\u002Fproxy.log`\n- Use `--unregister` to remove a tool from the configuration\n\n### Guard Mode\n\nThe guard mode allows you to restrict access to specific tools, prompts, and resources based on pattern matching. This is useful for security purposes when:\n\n- Restricting potentially dangerous operations (file writes, deletions, etc.)\n- Limiting the capabilities of AI assistants or applications\n- Providing read-only access to sensitive systems\n- Creating sandboxed environments for testing or demonstrations\n\n> **Note:** Guard mode currently only works with STDIO transport (command execution) and not HTTP transport.\n\n```bash\n# Allow only file reading operations, deny file modifications\nmcp guard --allow 'tools:read_* --deny tools:write_*,create_*,delete_*' npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n\n# Permit only a single specific tool\nmcp guard --allow 'tools:search_files' npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n\n# Restrict by both tool type and prompt type\nmcp guard --allow 'tools:read_*,prompts:system_*' --deny tools:execute_* npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n\n# Using with aliases\nmcp guard --allow 'tools:read_*' fs  # Where 'fs' is an alias for a filesystem server\n```\n\n#### How It Works\n\nThe guard command works by:\n1. Creating a proxy that sits between the client and the MCP server\n2. Intercepting and filtering all requests to `tools\u002Flist`, `prompts\u002Flist`, and `resources\u002Flist`\n3. Preventing calls to tools, prompts, or resources that don't match the allowed patterns\n4. Blocking requests for filtered resources, tools and prompts\n6. Passing through all other requests and responses unchanged\n\n#### Pattern Matching\n\nPatterns use simple glob syntax with `*` as a wildcard:\n\n- `tools:read_*` - Matches all tools starting with \"read_\"\n- `tools:*file*` - Matches any tool with \"file\" in the name\n- `prompts:system_*` - Matches all prompts starting with \"system_\"\n\nFor each entity type, you can specify:\n- `--allow 'pattern1,pattern2,...'` - Only allow entities matching these patterns\n- `--deny 'pattern1,pattern2,...'` - Remove entities matching these patterns\n\nIf no allow patterns are specified, all entities are allowed by default (except those matching deny patterns).\n\n#### Application Integration\n\nYou can use the guard command to secure MCP configurations in applications. For example, to restrict a file system server to only allow read operations, change:\n\n```json\n\"filesystem\": {\n  \"command\": \"npx\",\n  \"args\": [\n    \"-y\",\n    \"@modelcontextprotocol\u002Fserver-filesystem\",\n    \"\u002FUsers\u002Ffka\u002FDesktop\"\n  ]\n}\n```\n\nTo:\n\n```json\n\"filesystem\": {\n  \"command\": \"mcp\",\n  \"args\": [\n    \"guard\", \"--deny\", \"tools:write_*,create_*,move_*,delete_*\",\n    \"npx\", \"-y\", \"@modelcontextprotocol\u002Fserver-filesystem\",\n    \"\u002FUsers\u002Ffka\u002FDesktop\"\n  ]\n}\n```\n\nThis provides a read-only view of the filesystem by preventing any modification operations.\n\nYou can also use aliases with the guard command in configurations:\n\n```json\n\"filesystem\": {\n  \"command\": \"mcp\",\n  \"args\": [\n    \"guard\", \"--allow\", \"tools:read_*,list_*,search_*\",\n    \"fs\"  \u002F\u002F Where 'fs' is an alias for the filesystem server\n  ]\n}\n```\n\nThis makes your configurations even more concise and easier to maintain.\n\n#### Logging\n\n- Guard operations are logged to `~\u002F.mcpt\u002Flogs\u002Fguard.log`\n- The log includes all requests, responses, and filtering decisions\n- Use `tail -f ~\u002F.mcpt\u002Flogs\u002Fguard.log` to monitor activity in real-time\n\n## Examples\n\n### Basic Usage\n\nList tools from a filesystem server:\n\n```bash\nmcp tools npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\nCall a tool with pretty JSON output:\n\n```bash\nmcp call read_file --params '{\"path\":\"README.md\"}' --format pretty npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\nUse the guard mode to filter available tools:\n\n```bash\n# Only allow file search functionality\nmcp guard --allow tools:search_files npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n\n# Create a read-only environment\nmcp guard --deny tools:write_*,delete_*,create_*,move_* npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n### Streamable HTTP Usage\n\nCreate and run a local streamable HTTP server:\n\n```bash\n# Create a new MCP server with SSE transport (streamable HTTP not available in scaffolding)\nmkdir my-sse-server && cd my-sse-server\nmcp new tool:example_tool --transport=sse\n\n# Install dependencies and build\nnpm install && npm run build\n\n# Start the server (will run SSE transport)\nnpm start\n```\n\nIn a separate terminal, connect to your local server:\n\n```bash\n# Connect to local SSE server (adjust URL based on your server's SSE endpoint)\nmcp tools http:\u002F\u002Flocalhost:3000\u002Fsse\n\n# Call a tool on the local server\nmcp call example_tool --params '{\"input\": \"test\"}' http:\u002F\u002Flocalhost:3000\u002Fsse\n\n# Use with different output formats\nmcp tools --format pretty http:\u002F\u002Flocalhost:3000\u002Fsse\n```\n\nConnect to remote streamable HTTP servers:\n\n```bash\n# Connect to a remote MCP server\nmcp tools https:\u002F\u002Fapi.example.com\u002Fmcp\n\n# Use SSE transport for legacy servers (auto-detected from \u002Fsse path)\nmcp tools http:\u002F\u002Flegacy-server.com\u002Fsse\n\n# Example with authentication headers (when supported)\nmcp tools https:\u002F\u002Fauthenticated-mcp-server.com\n```\n\n### Script Integration\n\nUsing the proxy mode with a simple shell script:\n\n```bash\n# 1. Create a simple shell script for addition\ncat > add.sh \u003C\u003C 'EOF'\n#!\u002Fbin\u002Fbash\n# Get values from environment variables\nif [ -z \"$a\" ] || [ -z \"$b\" ]; then\n  echo \"Error: Missing required parameters 'a' or 'b'\"\n  exit 1\nfi\nresult=$(($a + $b))\necho \"The sum of $a and $b is $result\"\nEOF\n\n# 2. Make it executable\nchmod +x add.sh\n\n# 3. Register it as an MCP tool\nmcp proxy tool add_numbers \"Adds two numbers\" \"a:int,b:int\" .\u002Fadd.sh\n\n# 4. In one terminal, start the proxy server\nmcp proxy start\n\n# 5. In another terminal, you can call it as an MCP tool\nmcp call add_numbers --params '{\"a\":5,\"b\":3}' --format pretty\n```\n\n### Debugging\n\nTailing the logs to debug your proxy or mock server:\n\n```bash\n# For the mock server logs\ntail -f ~\u002F.mcpt\u002Flogs\u002Fmock.log\n\n# For the proxy server logs\ntail -f ~\u002F.mcpt\u002Flogs\u002Fproxy.log\n\n# To watch all logs in real-time (on macOS\u002FLinux)\nfind ~\u002F.mcpt\u002Flogs -name \"*.log\" -exec tail -f {} \\;\n```\n\n## Contributing\n\nWe welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details on how to submit pull requests, report issues, and contribute to the project.\n\n## Roadmap\n\nThe following features are planned for future releases:\n\n- Authentication: Support for secure authentication mechanisms\n\n## License\n\nThis project is licensed under the MIT License.\n\n## Thanks\n\nThanks to [Fatih Taskiran](https:\u002F\u002Fbsky.app\u002Fprofile\u002Ffatih.co) for the logo design.\n","\u003Cp align=\"center\">\n  \u003Cimg src=\".\u002F.github\u002Fresources\u002Flogo.png\" alt=\"MCP Tools\" height=\"150\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ch1 align=\"center\">MCP 服务器的瑞士军刀\u003C\u002Fh1>\n  \u003Cp align=\"center\">\n    一个用于与 MCP（模型上下文协议）服务器交互的全面命令行界面。\n    \u003Cbr>\n    可以从任何兼容 MCP 的服务器中发现、调用并管理工具、资源和提示。\n    \u003Cbr>\n    支持多种传输方式、输出格式，并内置强大的模拟和代理服务器功能。\n  \u003C\u002Fp>\n\u003C\u002Fp>\n\n[![博客文章](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBlog-阅读关于MCP Tools的文章-blue)](https:\u002F\u002Fblog.fka.dev\u002Fblog\u002F2025-03-27-mcp-inspector-vs-mcp-tools\u002F)\n\n## 目录\n\n- [概述](#overview)\n- [MCP Inspector 与 MCP Tools 的区别](https:\u002F\u002Fblog.fka.dev\u002Fblog\u002F2025-03-27-mcp-inspector-vs-mcp-tools\u002F)\n- [安装](#installation)\n  - [使用 Homebrew](#using-homebrew)\n  - [从源码编译](#from-source)\n- [快速入门](#getting-started)\n- [特性](#features)\n  - [传输选项](#transport-options)\n  - [输出格式](#output-formats)\n  - [命令](#commands)\n  - [交互式 Shell](#interactive-shell)\n  - [Web 界面](#web-interface)\n  - [项目脚手架](#project-scaffolding)\n- [服务器别名](#server-aliases)\n- [LLM 应用配置管理](#llm-apps-config-management)\n- [服务器模式](#server-modes)\n  - [模拟服务器模式](#mock-server-mode)\n  - [代理模式](#proxy-mode)\n  - [守卫模式](#guard-mode)\n- [示例](#examples)\n  - [基本用法](#basic-usage)\n  - [脚本集成](#script-integration)\n  - [调试](#debugging)\n- [贡献](#contributing)\n- [路线图](#roadmap)\n- [许可证](#license)\n\n## 概述\n\nMCP Tools 提供了一个多功能的 CLI，用于与模型上下文协议（MCP）服务器协作。它使您能够：\n\n- 发现并调用 MCP 服务器提供的工具\n- 访问和使用 MCP 服务器公开的资源\n- 创建用于测试客户端应用程序的模拟服务器\n- 将 MCP 请求代理到 Shell 脚本，以轻松扩展功能\n- 创建交互式 Shell 来探索和使用 MCP 服务器\n- 使用 TypeScript 支持为新的 MCP 项目搭建框架\n- 以多种样式格式化输出（JSON、美观打印、表格）\n- 保护和限制对特定工具和资源的访问\n- 支持所有传输方法（HTTP、stdio）\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\".github\u002Fresources\u002Fscreenshot.png\" alt=\"MCP Tools 截图\" width=\"700\">\n\u003C\u002Fp>\n\n## 安装\n\n### 使用 Homebrew（适用于 macOS）\n\n```bash\nbrew tap f\u002Fmcptools\nbrew install mcp\n```\n\n> ❕ 二进制文件被安装为 `mcp`，但也可以通过 `mcpt` 来访问，以避免与其他可能使用 `mcp` 命令名称的工具发生冲突。\n\n### 从源码编译（适用于 Windows 和 GNU\u002FLinux）\n\n```bash\ngo install github.com\u002Ff\u002Fmcptools\u002Fcmd\u002Fmcptools@latest\n```\n\n> ❕ 二进制文件将被安装为 `mcptools`，但可以将其别名为 `mcpt` 以方便使用。\n> \n> \u003Cimg width=\"500\" alt=\"截图 2025-05-05 下午10:21:29\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ff_mcptools_readme_098da579fbe0.png\" \u002F>\n> \n> \u003Csub>Windows 11 运行示例\u003C\u002Fsub>\n\n## 快速入门\n\n开始使用 MCP Tools 最简单的方式是连接到一个 MCP 服务器并列出可用的工具：\n\n```bash\n# 列出文件系统服务器上的所有可用工具\nmcp tools npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n\n# 调用特定工具\nmcp call read_file --params '{\"path\":\"README.md\"}' npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n\n# 打开交互式 Shell\nmcp shell npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n## 特性\n\nMCP Tools 支持广泛的与 MCP 服务器交互的功能：\n\n```\n用法：\n  mcp [命令]\n\n可用命令：\n  version       打印版本信息\n  tools         列出 MCP 服务器上的可用工具\n  resources     列出 MCP 服务器上的可用资源\n  prompts       列出 MCP 服务器上的可用提示\n  call          调用 MCP 服务器上的工具、资源或提示\n  get-prompt    获取 MCP 服务器上的提示\n  read-resource 读取 MCP 服务器上的资源\n  shell         启动用于 MCP 命令的交互式 Shell\n  web           启动用于 MCP 命令的 Web 界面\n  mock          创建带有工具、提示和资源的模拟 MCP 服务器\n  proxy         将 MCP 工具请求代理到 Shell 脚本\n  alias         管理 MCP 服务器别名\n  configs       管理 MCP 服务器配置\n  new           创建新的 MCP 项目组件\n  help          关于任何命令的帮助\n  completion    为指定的 Shell 生成自动补全脚本\n\n标志：\n  -f, --format string   输出格式（表格、json、pretty）（默认为“表格”）\n  -h, --help            mcp 的帮助\n  -p, --params string   传递给工具的参数 JSON 字符串（用于 call 命令）（默认为 \"{}\"）\n\n使用 \"mcp [命令] --help\" 以获取有关某个命令的更多信息。\n```\n\n### 传输选项\n\nMCP Tools 支持多种与 MCP 服务器通信的传输方式：\n\n#### Stdio 传输\n\n使用 stdin\u002Fstdout 通过 JSON-RPC 2.0 与 MCP 服务器通信。这对于实现 MCP 协议的命令行工具非常有用。\n\n```bash\nmcp tools npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n#### HTTP SSE 传输\n\n使用 HTTP 和服务器发送事件（SSE）通过 JSON-RPC 2.0 与 MCP 服务器通信。这对于连接到实现旧版 MCP 协议的远程服务器非常有用。当 URL 以 `\u002Fsse` 结尾时，传输会自动检测。\n\n```bash\nmcp tools http:\u002F\u002Flocalhost:3001\u002Fsse\n\n# 示例：使用 everything 示例服务器\n# docker run -p 3001:3001 --rm -it tzolov\u002Fmcp-everything-server:v1\n```\n\n_注意：_ HTTP SSE 目前仅支持 MCP 协议版本 2024-11-05。\n\n#### 流式 HTTP 传输（推荐）\n\n使用流式 HTTP 通过 JSON-RPC 2.0 与 MCP 服务器通信。这是连接到实现 MCP 协议的远程服务器的现代推荐方法。它既支持流式响应，也支持简单的请求\u002F响应模式。对于 HTTP\u002FHTTPS URL，这是默认的传输方式。\n\n```bash\n# HTTP URL 的默认传输\nmcp tools http:\u002F\u002Flocalhost:3000\n\n# 自动检测的流式 HTTP 传输\nmcp tools http:\u002F\u002Flocalhost:3000\n\n# 远程服务器示例\nmcp tools https:\u002F\u002Fapi.example.com\u002Fmcp\nmcp tools https:\u002F\u002Fne.tools\n```\n\n_流式 HTTP 的优势：_\n- **会话管理**：支持带有会话 ID 的有状态连接\n- **可恢复性**：可以在中断后重新连接并恢复会话（如果服务器支持）\n- **灵活的响应**：同时支持流式响应和直接 JSON 响应\n- **现代协议**：采用最新的 MCP 传输规范\n\n### 输出格式\n\nMCP 工具支持三种输出格式，以满足不同的需求：\n\n#### 表格格式（默认）\n\n```bash\nmcp tools npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n默认格式现在以彩色手册页风格显示工具：\n\n```\nread_file(path:str)\n     从文件系统中读取文件的全部内容。\nread_multiple_files(paths:str[])\n     同时读取多个文件的内容。\nlist_dir(path:str)\n     列出目录中的内容。\nwrite_file(path:str, content:str)\n     将内容写入文件。\ngrep_search(pattern:str, [excludePatterns:str[]])\n     使用模式搜索文件。\nedit_file(edits:{newText:str,oldText:str}[], path:str)\n     使用多次文本替换编辑文件\n```\n\n该格式的主要特点：\n- 函数名以粗体青色显示\n- 必需参数以绿色显示（例如 `path:str`）\n- 可选参数用黄色方括号表示（例如 `[limit:int]`）\n- 数组类型用 `[]` 后缀表示（例如 `str[]`）\n- 对象类型在其属性上使用花括号表示（例如 `{prop1:type1,prop2:type2}`）\n- 嵌套对象递归显示（例如 `{notifications:{enabled:bool,sound:bool}}`）\n- 类型名称缩写以提高可读性（例如 `str` 代替 `string`，`int` 代替 `integer`）\n- 描述缩进并以灰色显示\n- 参数顺序一致，必需参数优先列出\n\n#### JSON 格式（紧凑）\n\n```bash\nmcp tools --format json npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n#### 美化 JSON 格式（缩进）\n\n```bash\nmcp tools --format pretty npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n### 命令\n\nMCP 工具包含几个用于与 MCP 服务器交互的核心命令：\n\n#### 列出可用工具\n\n```bash\nmcp tools npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n#### 列出可用资源\n\n```bash\nmcp resources npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n#### 列出可用提示\n\n```bash\nmcp prompts npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n#### 调用工具\n\n```bash\nmcp call read_file --params '{\"path\":\"\u002Fpath\u002Fto\u002Ffile\"}' npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n#### 调用资源\n\n```bash\nmcp call resource:test:\u002F\u002Fstatic\u002Fresource\u002F1 npx -y @modelcontextprotocol\u002Fserver-everything -f json | jq \".contents[0].text\"\n```\n\n或者\n\n```bash\nmcp read-resource test:\u002F\u002Fstatic\u002Fresource\u002F1 npx -y @modelcontextprotocol\u002Fserver-everything -f json | jq \".contents[0].text\"\n```\n\n#### 调用提示\n\n```bash\nmcp get-prompt simple_prompt npx -y @modelcontextprotocol\u002Fserver-everything -f json | jq \".messages[0].content.text\"\n```\n\n#### 查看服务器日志\n\n当使用会向服务器发出请求的客户端命令时，可以添加 `--server-logs` 标志来查看与您的请求相关的服务器日志：\n\n```bash\n# 在列出工具时查看服务器日志\nmcp tools --server-logs npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n输出：\n```\n[>] 安全的 MCP 文件系统服务器在 stdio 上运行\n[>] 允许的目录：[ '\u002FUsers\u002Ffka\u002F' ]\nread_file(path:str)\n     从文件系统中读取文件的全部内容。\nread_multiple_files(paths:str[])\n     同时读取多个文件的内容。\n... 以及此服务器上提供的其他工具\n```\n\n这有助于调试或了解执行这些命令时服务器端发生的情况。\n\n### 交互式 Shell\n\n交互式 Shell 模式允许您在一个会话中运行多个 MCP 命令：\n\n```bash\nmcp shell npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n这将打开一个具有以下功能的交互式 Shell：\n\n```\nmcp tools shell\n连接到：npx -y @modelcontextprotocol\u002Fserver-filesystem \u002FUsers\u002Ffka\n\nmcp > 输入 '\u002Fh' 获取帮助或 '\u002Fq' 退出\nmcp > tools\nread_file(path:str, [limit:int], [offset:int])\n     从文件系统中读取文件\n\nlist_dir(path:str)\n     列出目录内容\n\ngrep_search(pattern:str, [excludePatterns:str[]])\n     使用模式搜索文件\n\nedit_file(edits:{newText:str,oldText:str}[], path:str)\n     使用多次文本替换编辑文件\n\n# 支持直接调用工具\nmcp > read_file {\"path\":\"README.md\"}\n...README.md 的内容...\n\n# 使用复杂对象参数调用工具\nmcp > edit_file {\"path\":\"main.go\",\"edits\":[{\"oldText\":\"foo\",\"newText\":\"bar\"}]}\n...编辑操作的结果...\n\n# 获取帮助\nmcp > \u002Fh\nMCP Shell 命令：\n  tools                      列出可用工具\n  resources                  列出可用资源\n  prompts                    列出可用提示\n  call \u003Centity> [--params '{...}']  调用工具、资源或提示\n  format [json|pretty|table] 获取或设置输出格式\n特殊命令：\n  \u002Fh, \u002Fhelp                  显示此帮助\n  \u002Fq, \u002Fquit, exit            退出 Shell\n```\n\n### Web 界面\n\nMCP 工具提供了一个基于浏览器的 UI，用于与 MCP 服务器进行交互：\n\n```bash\n# 在默认端口（41999）启动文件系统服务器的 Web 界面\nmcp web npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n\n# 使用自定义端口\nmcp web --port 8080 docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io\u002Fgithub\u002Fgithub-mcp-server\n\n# 使用 SSE\nmcp web https:\u002F\u002Fne.tools\n```\n\nWeb 界面包括：\n\n- 侧边栏列出了所有可用的工具、资源和提示\n- 基于表单和 JSON 的参数编辑\n- 格式化和原始 JSON 响应视图\n- 根据工具模式自动生成的交互式参数表单\n- 对复杂参数类型（数组、对象、嵌套结构）的支持\n- 直接访问 API 进行工具调用\n\n启动后，您可以通过在浏览器中打开 `http:\u002F\u002Flocalhost:41999`（或您自定义的端口）来访问界面。\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\".github\u002Fresources\u002Fweb-interface.png\" alt=\"MCP Web 界面\" width=\"700\">\n\u003C\u002Fp>\n\n### 项目脚手架\n\nMCP 工具提供了一个脚手架功能，可以快速使用 TypeScript 创建新的 MCP 服务器：\n\n```bash\nmkdir my-mcp-server\ncd my-mcp-server\n\n# 创建包含特定组件的项目\nmcp new tool:calculate resource:file prompt:greet\n\n# 创建使用特定 SDK 的项目（目前仅支持 TypeScript\u002Fts）\nmcp new tool:calculate --sdk=ts\n\n# 创建使用特定传输类型的项目\nmcp new tool:calculate --transport=stdio\nmcp new tool:calculate --transport=sse\n```\n\n脚手架会创建一个完整的项目结构，包含：\n\n- 使用所选传输方式（stdio 或 SSE）的服务器设置\n- 使用现代 ES 模块的 TypeScript 配置\n- 实现了正确 MCP 接口的组件\n- 自动处理导入和初始化\n\n完成脚手架后，您可以构建并运行您的 MCP 服务器：\n\n```bash\n# 安装依赖项\nnpm install\n\n# 构建 TypeScript 代码\nnpm run build\n\n# 使用 MCP 工具测试服务器\nmcp tools node build\u002Findex.js\n```\n\n项目模板存储在以下位置之一：\n- 本地 `.\u002Ftemplates\u002F` 目录\n- 用户主目录：`~\u002F.mcpt\u002Ftemplates\u002F`\n- Homebrew 安装路径（`\u002Fopt\u002Fhomebrew\u002FCellar\u002Fmcp\u002Fv#.#.#\u002Ftemplates`）\n\n通过 Homebrew 安装时，模板会自动安装到您的主目录。但如果您使用源码安装，则需要运行 `make install-templates`。\n\n## 服务器别名\n\nMCP 工具允许您保存并重复使用带有友好别名的服务器命令：\n\n```bash\n# 添加一个新的服务器别名\nmcp alias add myfs npx -y @modelcontextprotocol\u002Fserver-filesystem ~\u002F\n\n# 列出所有已注册的服务器别名\nmcp alias list\n\n# 删除一个服务器别名\nmcp alias remove myfs\n\n# 在任何 MCP 命令中使用别名\nmcp tools myfs\nmcp call read_file --params '{\"path\":\"README.md\"}' myfs\n```\n\n服务器别名存储在 `$HOME\u002F.mcpt\u002Faliases.json` 中，提供了一种便捷的方式，让您无需反复输入冗长的命令即可操作常用的 MCP 服务器。\n\n## LLM 应用配置管理\n\nMCP 工具提供了一个强大的配置管理系统，可帮助您跨多个应用程序管理 MCP 服务器配置：\n\n> 🚧 目前仅适用于 macOS。\n\n```bash\n# 扫描所有支持的应用程序中的 MCP 服务器配置\nmcp configs scan\n\n# 列出所有配置（configs view --all 的别名）\nmcp configs ls\n\n# 按别名查看特定配置\nmcp configs view vscode\n\n# 向配置中添加或更新服务器\nmcp configs set vscode my-server npm run mcp-server\nmcp configs set cursor my-api https:\u002F\u002Fapi.example.com\u002Fmcp --headers \"Authorization=Bearer token\"\n\n# 一次性向多个配置添加\nmcp configs set vscode,cursor,claude-desktop my-server npm run mcp-server\n\n# 从配置中移除服务器\nmcp configs remove vscode my-server\n\n# 为自定义配置文件创建别名\nmcp configs alias myapp ~\u002Fmyapp\u002Fconfig.json\n\n# 同步并合并来自多个来源的配置\nmcp configs sync vscode cursor --output vscode --default interactive\n\n# 将命令行转换为 MCP 服务器 JSON 配置格式\nmcp configs as-json mcp proxy start\n# 输出：{\"command\":\"mcp\",\"args\":[\"proxy\",\"start\"]}\n\n# 将 URL 转换为 MCP 服务器 JSON 配置格式\nmcp configs as-json https:\u002F\u002Fapi.example.com\u002Fmcp --headers \"Authorization=Bearer token\"\n# 输出：{\"url\":\"https:\u002F\u002Fapi.example.com\u002Fmcp\",\"headers\":{\"Authorization\":\"Bearer token\"}}\n```\n\n配置通过位于 `$HOME\u002F.mcpt\u002Fconfigs.json` 的中央注册表进行管理，并为以下工具预设了别名：\n- VS Code 和 VS Code Insiders\n- Windsurf\n- Cursor\n- Claude Desktop 和 Claude Code\n\n系统会自动以彩色格式显示服务器配置，并按来源分组，展示命令行或 URL 信息、头部和环境变量。\n\n`mcp configs scan` 命令会查找以下位置中的 MCP 服务器配置：\n- Visual Studio Code\n- Visual Studio Code Insiders\n- Windsurf\n- Cursor\n- Claude Desktop\n\n示例输出：\n```\nVS Code Insiders\n  GitHub (stdio):\n    docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io\u002Fgithub\u002Fgithub-mcp-server\n\nClaude Desktop\n  代理 (stdio):\n    mcp proxy start\n\n  我的文件 (stdio):\n    npx -y @modelcontextprotocol\u002Fserver-filesystem ~\u002F\n```\n\n### 补充\n\n将官方 GitHub MCP 服务器同时添加到 Windsurf、Cursor 和 VS Code：\n\n```bash\nmcp configs set windsurf,cursor,vscode GitHub \\\n  --env \"GITHUB_PERSONAL_ACCESS_TOKEN=github_pat_xxx\" \\\n  docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io\u002Fgithub\u002Fgithub-mcp-server\n```\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\".github\u002Fresources\u002Fconfigs.png\" alt=\"MCP Configs 截图\" width=\"700\">\n\u003C\u002Fp>\n\n## 服务器模式\n\nMCP 工具既可以作为客户端也可以作为服务器运行，提供两种服务器模式：\n\n### 模拟服务器模式\n\n模拟服务器模式会创建一个模拟的 MCP 服务器，用于在未实现完整服务器的情况下测试客户端：\n\n```bash\n# 创建一个简单的模拟工具\nmcp mock tool hello_world \"一个简单的问候工具\"\n\n# 创建包含多种实体类型的模拟服务器\nmcp mock tool hello_world \"一个问候工具\" \\\n       prompt welcome \"一个欢迎提示\" \"你好 {{name}}，欢迎来到 {{location}}！\" \\\n       resource docs:\u002F\u002Freadme \"文档\" \"模拟 MCP 服务器\\n这是一个模拟服务器\"\n```\n\n模拟服务器的特点：\n- 完整的初始化握手\n- 标准化模式的工具列表\n- 简单响应的工具调用\n- 资源列表与读取\n- 提示列表与带参数替换的检索\n- 详细的请求\u002F响应日志记录至 `~\u002F.mcpt\u002Flogs\u002Fmock.log`\n\n#### 使用提示模板\n\n对于提示，任何位于 `{{双大括号}}` 中的文本都会被自动识别为参数：\n\n```bash\n# 创建一个包含姓名和地点参数的提示\nmcp mock prompt greeting \"问候模板\" \"你好 {{name}}！欢迎来到 {{location}}。\"\n```\n\n当客户端请求该提示时，可以提供这些参数的值，它们将在响应中被替换。\n\n### 代理模式\n\n代理模式允许您将 Shell 脚本或内联命令注册为 MCP 工具，从而轻松扩展 MCP 功能而无需编写代码：\n\n```bash\n# 将 Shell 脚本注册为 MCP 工具\nmcp proxy tool add_operation \"将 a 和 b 相加\" \"a:int,b:int\" .\u002Fexamples\u002Fadd.sh\n\n# 将内联命令注册为 MCP 工具\nmcp proxy tool add_operation \"将 a 和 b 相加\" \"a:int,b:int\" -e 'echo \"总和是 $a + $b = $(($a+$b))\"'\n\n# 将内联命令注册为 MCP 工具，且结果消息可选\n mcpt proxy tool add_operation \"将 a 和 b 相加，结果消息可选\" \"a:int,b:int,[msg:string]\" -e 'echo \"$msg$a + $b = $(($a+$b))\"'\n\n# 取消注册某个工具\nmcp proxy tool --unregister add_operation\n\n# 启动代理服务器\nmcp proxy start\n```\n\n运行 `mcp tools localhost:3000` 并连接到代理服务器后，将显示已注册的工具及其参数：\n\n```\nadd_operation(a:int, b:int)\n     将 a 和 b 相加\n\ncount_files(dir:str, [include:str[]])\n     统计目录中的文件，可选过滤条件\n```\n\n这种新格式清晰地展示了每个工具接受的参数，使用户更容易理解如何使用它们。数组用 `[]` 后缀表示（如 `str[]`），类型名称也被缩短以提高可读性。\n\n#### 工作原理\n\n1. 注册一个 Shell 脚本或内联命令，指定工具名称、描述和参数规范。\n2. 启动代理服务器，该服务器实现了 MCP 协议。\n3. 当调用某个工具时，参数会作为环境变量传递给脚本\u002F命令。\n4. 脚本\u002F命令的输出将作为工具响应返回。\n5. 如果脚本的输出是 Base64 编码的 PNG 图像（以 `data:image\u002Fpng;base64,` 开头），则会以 [ImageContent](https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-06-18\u002Fserver\u002Fprompts#image-content) 对象的形式返回。\n\n\n#### 示例脚本和命令\n\n**加法（add.sh）：**\n\n```bash\n#!\u002Fbin\u002Fbash\n# 从环境变量中获取值\nif [ -z \"$a\" ] || [ -z \"$b\" ]; then\n  echo \"错误：缺少必需的参数 'a' 或 'b'\"\n  exit 1\nfi\n\n# 执行加法运算\nresult=$(($a + $b))\necho \"$a 和 $b 的和是 $result\"\n```\n\n**生成二维码**\n\n此示例需要安装 `qrencode` 等工具。\n\n```bash\n# 注册一个生成二维码的工具\nmcp proxy tool qrcode \"生成二维码\" \"text:string\" \\\n  -e 'echo -e \"data:image\u002Fpng;base64,$(qrencode -t png -o - \"$text\" | base64 -w 0)\"'\n```\n\n**内联命令示例：**\n\n```bash\n# 简单的加法\nmcp proxy tool add_op \"对给定数字求和\" \"a:int,b:int\" -e 'echo \"总和为 $a + $b = $(($a+$b))\"'\n\n# 自定义问候语\nmcp proxy tool greet \"向用户问好\" \"name:string,greeting:string,formal:bool\" -e '\nif [ \"$formal\" = \"true\" ]; then\n  title=\"先生\u002F女士\"\n  echo \"${greeting:-你好}, ${title} ${name}. 今天有什么可以帮您的吗？\"\nelse\n  echo \"${greeting:-你好}, ${name}！很高兴认识您！\"\nfi\n'\n\n# 文件操作\nmcp proxy tool count_lines \"统计文件行数\" \"file:string\" -e \"wc -l \u003C \\\"$file\\\"\"\n```\n\n#### 配置与日志记录\n\n- 工具注册在 `~\u002F.mcpt\u002Fproxy_config.json` 中\n- 代理服务器会将所有请求和响应记录到 `~\u002F.mcpt\u002Flogs\u002Fproxy.log`\n- 使用 `--unregister` 可以从配置中移除某个工具\n\n### 守护模式\n\n守护模式允许你基于模式匹配来限制对特定工具、提示和资源的访问。这在以下情况下非常有用：\n\n- 限制潜在危险的操作（如写入、删除文件等）\n- 限制 AI 助手或应用程序的功能\n- 提供对敏感系统的只读访问权限\n- 创建用于测试或演示的沙箱环境\n\n> **注意：** 守护模式目前仅适用于 STDIO 传输方式（命令执行），而不支持 HTTP 传输。\n\n```bash\n# 仅允许文件读取操作，禁止文件修改\nmcp guard --allow 'tools:read_* --deny tools:write_*,create_*,delete_*' npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n\n# 仅允许一个特定工具\nmcp guard --allow 'tools:search_files' npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n\n# 同时按工具类型和提示类型进行限制\nmcp guard --allow 'tools:read_*,prompts:system_*' --deny tools:execute_* npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n\n# 结合别名使用\nmcp guard --allow 'tools:read_*' fs  # 其中 'fs' 是文件系统服务器的别名\n```\n\n#### 工作原理\n\n守护命令的工作原理如下：\n\n1. 创建一个位于客户端和 MCP 服务器之间的代理\n2. 拦截并过滤所有对 `tools\u002Flist`、`prompts\u002Flist` 和 `resources\u002Flist` 的请求\n3. 阻止调用不符合允许模式的工具、提示或资源\n4. 拒绝被过滤掉的资源、工具和提示的请求\n5. 不改变地传递其他所有请求和响应\n\n#### 模式匹配\n\n模式使用简单的 glob 语法，其中 `*` 作为通配符：\n\n- `tools:read_*` 匹配所有以 `read_` 开头的工具\n- `tools:*file*` 匹配名称中包含 `file` 的任何工具\n- `prompts:system_*` 匹配所有以 `system_` 开头的提示\n\n对于每种实体类型，你可以指定：\n- `--allow 'pattern1,pattern2,...'` 只允许匹配这些模式的实体\n- `--deny 'pattern1,pattern2,...'` 移除匹配这些模式的实体\n\n如果没有指定允许模式，则默认允许所有实体（但排除那些匹配拒绝模式的实体）。\n\n#### 应用集成\n\n你可以使用守护命令来保护应用程序中的 MCP 配置。例如，要将文件系统服务器限制为仅允许读取操作，可以将：\n\n```json\n\"filesystem\": {\n  \"command\": \"npx\",\n  \"args\": [\n    \"-y\",\n    \"@modelcontextprotocol\u002Fserver-filesystem\",\n    \"\u002FUsers\u002Ffka\u002FDesktop\"\n  ]\n}\n```\n\n改为：\n\n```json\n\"filesystem\": {\n  \"command\": \"mcp\",\n  \"args\": [\n    \"guard\", \"--deny\", \"tools:write_*,create_*,move_*,delete_*\",\n    \"npx\", \"-y\", \"@modelcontextprotocol\u002Fserver-filesystem\",\n    \"\u002FUsers\u002Ffka\u002FDesktop\"\n  ]\n}\n```\n\n这样就可以通过阻止任何修改操作来提供文件系统的只读视图。\n\n你还可以在配置中结合别名使用守护命令：\n\n```json\n\"filesystem\": {\n  \"command\": \"mcp\",\n  \"args\": [\n    \"guard\", \"--allow\", \"tools:read_*,list_*,search_*\",\n    \"fs\"  \u002F\u002F 其中 'fs' 是文件系统服务器的别名\n  ]\n}\n```\n\n这使得你的配置更加简洁且易于维护。\n\n#### 日志记录\n\n- 守护操作会被记录到 `~\u002F.mcpt\u002Flogs\u002Fguard.log`\n- 日志中包含所有请求、响应以及过滤决策\n- 使用 `tail -f ~\u002F.mcpt\u002Flogs\u002Fguard.log` 可以实时监控活动\n\n## 示例\n\n### 基本用法\n\n列出文件系统服务器上的工具：\n\n```bash\nmcp tools npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n以漂亮的 JSON 格式调用工具：\n\n```bash\nmcp call read_file --params '{\"path\":\"README.md\"}' --format pretty npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n使用守护模式过滤可用工具：\n\n```bash\n# 仅允许文件搜索功能\nmcp guard --allow tools:search_files npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n\n# 创建只读环境\nmcp guard --deny tools:write_*,delete_*,create_*,move_* npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n### 可流式传输的 HTTP 使用\n\n创建并运行一个本地可流式传输的 HTTP 服务器：\n\n```bash\n# 创建一个新的带有 SSE 传输方式的 MCP 服务器（脚手架中不提供可流式传输的 HTTP）\nmkdir my-sse-server && cd my-sse-server\nmcp new tool:example_tool --transport=sse\n\n# 安装依赖并构建\nnpm install && npm run build\n\n# 启动服务器（将运行 SSE 传输）\nnpm start\n```\n\n在另一个终端中连接到你的本地服务器：\n\n```bash\n# 连接到本地 SSE 服务器（根据你的服务器 SSE 端点调整 URL）\nmcp tools http:\u002F\u002Flocalhost:3000\u002Fsse\n\n# 调用本地服务器上的工具\nmcp call example_tool --params '{\"input\": \"test\"}' http:\u002F\u002Flocalhost:3000\u002Fsse\n\n# 使用不同的输出格式\nmcp tools --format pretty http:\u002F\u002Flocalhost:3000\u002Fsse\n```\n\n连接到远程可流式传输的 HTTP 服务器：\n\n```bash\n# 连接到远程 MCP 服务器\nmcp tools https:\u002F\u002Fapi.example.com\u002Fmcp\n\n# 对于旧版服务器使用 SSE 传输（自动从 \u002Fsse 路径检测）\nmcp tools http:\u002F\u002Flegacy-server.com\u002Fsse\n\n# 带有身份验证头的示例（如果支持）\nmcp tools https:\u002F\u002Fauthenticated-mcp-server.com\n```\n\n### 脚本集成\n\n使用代理模式结合简单的 shell 脚本：\n\n```bash\n# 1. 创建一个用于加法的简单 shell 脚本\ncat > add.sh \u003C\u003C 'EOF'\n#!\u002Fbin\u002Fbash\n# 从环境变量中获取值\nif [ -z \"$a\" ] || [ -z \"$b\" ]; then\n  echo \"错误：缺少必需参数 'a' 或 'b'\"\n  exit 1\nfi\nresult=$(($a + $b))\necho \"The sum of $a and $b is $result\"\nEOF\n\n# 2. 使其可执行\nchmod +x add.sh\n\n# 3. 将其注册为 MCP 工具\nmcp proxy tool add_numbers \"两个数相加\" \"a:int,b:int\" .\u002Fadd.sh\n\n# 4. 在一个终端中启动代理服务器\nmcp proxy start\n\n# 5. 在另一个终端中，你可以将其作为 MCP 工具调用\nmcp call add_numbers --params '{\"a\":5,\"b\":3}' --format pretty\n```\n\n### 调试\n\n通过尾随日志来调试您的代理或模拟服务器：\n\n```bash\n# 查看模拟服务器日志\ntail -f ~\u002F.mcpt\u002Flogs\u002Fmock.log\n\n# 查看代理服务器日志\ntail -f ~\u002F.mcpt\u002Flogs\u002Fproxy.log\n\n# 在 macOS\u002FLinux 上实时查看所有日志\nfind ~\u002F.mcpt\u002Flogs -name \"*.log\" -exec tail -f {} \\;\n```\n\n## 参与贡献\n\n我们欢迎各方贡献！请参阅我们的[贡献指南](CONTRIBUTING.md)，了解如何提交拉取请求、报告问题以及参与项目开发的详细信息。\n\n## 路线图\n\n以下功能计划在未来的版本中实现：\n\n- 认证：支持安全的认证机制\n\n## 许可证\n\n本项目采用 MIT 许可证授权。\n\n## 致谢\n\n感谢 [Fatih Taskiran](https:\u002F\u002Fbsky.app\u002Fprofile\u002Ffatih.co) 提供的 logo 设计。","# mcptools 快速上手指南\n\n`mcptools` 是一款专为 MCP (Model Context Protocol) 服务器设计的命令行“瑞士军刀”。它支持发现、调用和管理工具、资源及提示词，并提供模拟服务器、代理模式及交互式 Shell 等强大功能。\n\n## 环境准备\n\n*   **操作系统**：macOS, Windows, GNU\u002FLinux\n*   **前置依赖**：\n    *   **macOS**: 推荐安装 [Homebrew](https:\u002F\u002Fbrew.sh\u002F)。\n    *   **通用**: 若从源码安装，需安装 [Go (Golang)](https:\u002F\u002Fgo.dev\u002F) (版本 1.20+)。\n    *   **Node.js**: 运行示例中的 MCP 服务器（如 `npx` 命令）需要安装 [Node.js](https:\u002F\u002Fnodejs.org\u002F)。\n\n## 安装步骤\n\n### 方式一：使用 Homebrew (推荐 macOS 用户)\n\n```bash\nbrew tap f\u002Fmcptools\nbrew install mcp\n```\n\n> **注意**：安装后的二进制文件名为 `mcp`。为避免与其他工具冲突，也可通过别名 `mcpt` 调用。\n\n### 方式二：从源码安装 (适用于 Windows \u002F Linux)\n\n```bash\ngo install github.com\u002Ff\u002Fmcptools\u002Fcmd\u002Fmcptools@latest\n```\n\n> **注意**：默认二进制文件名为 `mcptools`。建议在 shell 配置文件中添加别名以便使用短命令：\n> ```bash\n> alias mcpt='mcptools'\n> # 或\n> alias mcp='mcptools'\n> ```\n\n## 基本使用\n\n安装完成后，即可通过命令行与任意兼容 MCP 协议的服务器交互。以下是三个最核心的使用场景：\n\n### 1. 列出可用工具\n连接到一个 MCP 服务器（例如文件系统服务器）并查看其提供的所有工具列表：\n\n```bash\nmcp tools npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n输出将以清晰的表格形式展示工具名称、参数类型及描述。\n\n### 2. 调用特定工具\n直接调用服务器上的某个工具并传入参数（参数需为 JSON 格式）：\n\n```bash\nmcp call read_file --params '{\"path\":\"README.md\"}' npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n### 3. 启动交互式 Shell\n进入交互模式，可在同一会话中连续执行多个命令、查看资源或直接调用工具：\n\n```bash\nmcp shell npx -y @modelcontextprotocol\u002Fserver-filesystem ~\n```\n\n进入 Shell 后：\n*   输入 `tools` 查看工具列表。\n*   直接输入 `read_file {\"path\":\"package.json\"}` 即可执行调用。\n*   输入 `\u002Fh` 查看帮助，`\u002Fq` 退出。\n\n---\n**提示**：`mcp` 命令支持多种传输协议（Stdio, HTTP SSE, Streamable HTTP）和输出格式（`--format json` 或 `--format pretty`），可根据实际需求灵活组合。","某后端开发团队在集成多个第三方 MCP 服务（如文件系统、数据库查询）到其自动化运维脚本时，面临调试困难和协议对接繁琐的挑战。\n\n### 没有 mcptools 时\n- **黑盒调试痛苦**：开发者无法直观查看 MCP 服务器暴露了哪些工具或资源，只能盲目阅读文档或猜测接口名称，排查问题如同“盲人摸象”。\n- **手动构造请求繁琐**：每次测试新功能都需要编写临时的 Python 或 Node.js 脚本来构造复杂的 JSON-RPC 请求，通过 stdio 或 HTTP 发送，效率极低。\n- **缺乏本地模拟环境**：在前端或主程序未完成前，无法快速创建一个假的 MCP 服务器来模拟数据返回，导致前后端联调阻塞。\n- **输出格式不友好**：原始协议返回的嵌套 JSON 数据难以直接在终端阅读，需要额外借助 `jq` 等工具进行格式化才能定位关键字段。\n\n### 使用 mcptools 后\n- **一键发现能力**：只需运行 `mcp tools` 命令，即可立即列出服务器上所有可用的工具和资源清单，让隐藏的功能瞬间透明化。\n- **命令行直接调用**：无需编写任何临时代码，直接使用 `mcp call` 配合参数即可在终端实时执行工具（如读取文件、查询数据库），验证逻辑秒级完成。\n- **内置 Mock 与代理模式**：利用 `mock server` 功能快速搭建虚拟服务供同事联调，或通过 `proxy mode` 将 MCP 请求无缝转发给现有的 Shell 脚本，极大扩展了集成灵活性。\n- **多样化可读输出**：支持表格、美化打印等多种输出格式，复杂的协议响应在终端中清晰呈现，关键信息一目了然。\n\nmcptools 将原本需要数小时编写的协议对接代码简化为几条终端命令，成为开发者探索、调试和扩展 MCP 生态的瑞士军刀。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ff_mcptools_e2c01526.png","f","Fatih Kadir Akın","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ff_f3b6735b.jpg","Developer Advocate at WordPress, @Automattic — Building prompts.chat — JavaScript Developer. AI Enthusiast. Author. — @GitHub Star.","@Automattic","Istanbul, Turkey","fka@fka.dev","fkadev","http:\u002F\u002Ffka.dev","https:\u002F\u002Fgithub.com\u002Ff",[83,87,91,95],{"name":84,"color":85,"percentage":86},"Go","#00ADD8",97.8,{"name":88,"color":89,"percentage":90},"TypeScript","#3178c6",1.4,{"name":92,"color":93,"percentage":94},"Shell","#89e051",0.6,{"name":96,"color":97,"percentage":98},"Makefile","#427819",0.3,1553,121,"2026-04-14T02:49:41","MIT","Linux, macOS, Windows","未说明",{"notes":106,"python":104,"dependencies":107},"该工具主要使用 Go 语言开发。macOS 用户可通过 Homebrew 安装二进制文件（命令为 mcp 或 mcpt）；Windows 和 Linux 用户需安装 Go 环境并从源码编译安装（命令为 mcptools 或别名 mcpt）。工具本身不依赖 Python 或 GPU，但在运行示例命令连接某些 MCP 服务器时，可能需要本地安装 Node.js (npx) 或 Docker 环境。",[108,109,110,111],"Go (用于从源码编译)","Homebrew (macOS 安装可选)","Node.js\u002Fnpx (用于运行示例中的 MCP 服务器，如 @modelcontextprotocol\u002Fserver-filesystem)","Docker (可选，用于运行示例服务器)",[52,13],[114,115,116],"mcp","mcp-server","modelcontextprotocol",null,"2026-03-27T02:49:30.150509","2026-04-15T04:17:00.477664",[121,126,131,136,141,146],{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},33587,"HTTP 传输模式下，为什么与 Spring AI 等服务器通信失败或出现 404 错误？","这是因为 HTTP 传输的上下文路径处理问题。请尝试在命令中显式添加 `\u002Fsse` 后缀。例如，不要只运行 `mcp tools http:\u002F\u002Flocalhost:8081`，而应运行：\n`mcp tools http:\u002F\u002Flocalhost:8081\u002Fsse`\n这样可以确保客户端正确连接到服务器的 SSE 端点。","https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fissues\u002F48",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},33588,"当命令执行失败时，如何查看详细的 stdout\u002Fstderr 日志以排查错误？","可以在命令中添加 `--server-logs` 标志来捕获并显示服务器端的日志输出。例如：\n`mcp tools --server-logs \u003Cyour-command>`\n这将帮助你在遇到类似 \"error reading from stdout: EOF\" 的错误时看到具体的报错信息。","https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fissues\u002F31",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},33589,"运行 `mcp new` 时提示 \"could not find templates directory for SDK\" 怎么办？","这通常是由于通过 Homebrew 升级或安装时模板目录未正确创建导致的。请尝试以下方法：\n1. 卸载并重新安装最新版本（建议 v0.4.0 或更高）。\n2. 检查 `~\u002F.mcpt\u002Ftemplates\u002F` 目录是否存在，如果不存在可能需要手动初始化或重新运行安装脚本。\n3. 确保使用的是最新版本的 `mcp` 工具，旧版本（如 0.3.x）存在此已知问题。","https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fissues\u002F21",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},33590,"在 MCP Shell 中调用工具传递 JSON 参数时解析失败怎么办？","现有的解析逻辑对 JSON 格式中的空格非常敏感。如果参数解析失败，请尝试删除 JSON 字符串中键值对冒号后的空格。例如，将 `{\"path\": \"mcp_proj\"}` 改为 `{\"path\":\"mcp_proj\"}`。未来版本可能会改进此体验，支持直接通过 `key: value` 的方式自动生成合法 JSON。","https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fissues\u002F25",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},33591,"运行工具时报错 \"The first message from the client must be initialize\" 是什么原因？","这表示客户端没有按照 MCP 协议规范首先发送 `initialize` 消息。虽然某些其他客户端可能容忍此行为，但标准的 MCP 服务器（如通过 jbang 运行的服务器）严格要求握手顺序。请确保你使用的 `mcp tools` 版本已修复此协议遵循问题，或者检查是否使用了正确的启动命令序列。如果问题持续，请升级到最新版本。","https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fissues\u002F23",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},33592,"使用 HTTP 传输时收到包含 'id' 字段的 Notification 导致兼容性问题如何解决？","这是一个已修复的 Bug。在旧版本中，HTTP 传输层错误地在通知（Notifications）消息中添加了 `id` 字段，这违反了 JSON-RPC 规范并导致与严格模式的服务器（如 Spring AI）通信失败。请将 `mcp tools` 升级到 0.7.0 或更高版本，该问题已在这些版本中得到解决。","https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fissues\u002F47",[152,157,162,167,172,177,182,187,192,197,202,207,212,217,222,227,232,237,242,247],{"id":153,"version":154,"summary_zh":155,"released_at":156},255833,"v0.7.1","**完整更新日志**: https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fcompare\u002Fv0.7.0...v0.7.1","2025-05-05T20:39:26",{"id":158,"version":159,"summary_zh":160,"released_at":161},255834,"v0.7.0","## 变更内容\n* @EItanya 在 https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F43 中实现了正确的 MCP SSE 处理\n* @ayakut16 在 https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F46 中为 `call` 命令添加了 `--server-logs` 标志\n* @ayakut16 在 https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F49 中迁移到了 mark3labs\u002Fmcp-go\u002Fclient\n\n## 新贡献者\n* @EItanya 在 https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F43 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fcompare\u002Fv0.6.5...v0.7.0","2025-05-02T15:52:45",{"id":163,"version":164,"summary_zh":165,"released_at":166},255835,"v0.6.5","## 变更内容\n* （功能）`mcp web` 由 @f 在 https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F42 中实现\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fcompare\u002Fv0.6.1...v0.6.5","2025-04-14T21:02:25",{"id":168,"version":169,"summary_zh":170,"released_at":171},255836,"v0.6.1","## 变更内容\n* 由 @ayakut16 在 https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F40 中添加了 --server-logs 标志\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fcompare\u002Fv0.6.0...v0.6.1","2025-04-12T17:57:47",{"id":173,"version":174,"summary_zh":175,"released_at":176},255837,"v0.6.0","## 变更内容\n* 由 @f 在 https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F37 中实现守卫机制\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fcompare\u002Fv0.5.1...v0.6.0","2025-04-12T16:33:39",{"id":178,"version":179,"summary_zh":180,"released_at":181},255838,"v0.5.1","## 变更内容\n* @tt 在 https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F36 中，保持标准 I\u002FO 进程在 Shell 模式下运行\n* @ayakut16 在 https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F38 中，仅发送一次初始化请求\n\n## 新贡献者\n* @tt 在 https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F36 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fcompare\u002Fv0.5.0...v0.5.1","2025-04-10T21:29:21",{"id":183,"version":184,"summary_zh":185,"released_at":186},255839,"v0.5.0","## 变更内容\n* 由 @f 在 https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F34 中添加的功能\u002F配置\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fcompare\u002Fv0.4.2...v0.5.0","2025-04-08T21:10:27",{"id":188,"version":189,"summary_zh":190,"released_at":191},255840,"v0.4.2","## 变更内容\n* 修复：支持 Shell 参数中的空格和引号，由 @ayakut16 在 https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F33 中实现。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fcompare\u002Fv0.4.1...v0.4.2","2025-04-08T12:47:58",{"id":193,"version":194,"summary_zh":195,"released_at":196},255841,"v0.4.1","## 变更内容\n* 在 version 命令中不打印模板名称。由 @ayakut16 在 https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F28 中完成。\n* 为资源取消跳过 call 命令测试。由 @ayakut16 在 https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F30 中完成。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fcompare\u002Fv0.4.0...v0.4.1","2025-04-08T12:14:13",{"id":198,"version":199,"summary_zh":200,"released_at":201},255842,"v0.4.0","**完整更新日志**: https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fcompare\u002Fv0.3.9...v0.4.0\n\n修复 #21","2025-04-06T18:07:41",{"id":203,"version":204,"summary_zh":205,"released_at":206},255843,"v0.3.9","**Full Changelog**: https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fcompare\u002Fv0.3.8...v0.3.9","2025-04-06T17:23:57",{"id":208,"version":209,"summary_zh":210,"released_at":211},255844,"v0.3.8","**Full Changelog**: https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fcompare\u002Fv0.3.7...v0.3.8","2025-04-06T17:22:32",{"id":213,"version":214,"summary_zh":215,"released_at":216},255845,"v0.3.7","## What's Changed\r\n* Move commands in their own files by @ayakut16 in https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F22\r\n* Send initialize request and initialized notification by @ayakut16 in https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F24\r\n* fix(pkg\u002Fjsonutils): add description to resource list, unskip test by @johnstcn in https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F26\r\n* Fix `read-resource` command returning \"Error: invalid JSON for params: invalid character %q looking for beginning of value\" by @johnstcn in https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F27\r\n\r\n## New Contributors\r\n* @johnstcn made their first contribution in https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F26\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fcompare\u002Fv0.3.6.3...v0.3.7","2025-04-06T17:02:37",{"id":218,"version":219,"summary_zh":220,"released_at":221},255846,"v0.3.6.3","**Full Changelog**: https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fcompare\u002Fv0.3.6.2...v0.3.6.3","2025-04-04T18:06:28",{"id":223,"version":224,"summary_zh":225,"released_at":226},255847,"v0.3.6.2","**Full Changelog**: https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fcompare\u002Fv0.3.6...v0.3.6.2","2025-04-04T08:22:24",{"id":228,"version":229,"summary_zh":230,"released_at":231},255848,"v0.3.6.1","**Full Changelog**: https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fcompare\u002Fv0.3.5...v0.3.6.1","2025-04-03T23:31:35",{"id":233,"version":234,"summary_zh":235,"released_at":236},255849,"v0.3.6","**Full Changelog**: https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fcompare\u002Fv0.3.5...v0.3.6","2025-04-03T23:25:50",{"id":238,"version":239,"summary_zh":240,"released_at":241},255850,"v0.3.5","## What's Changed\r\n* template feature. by @f in https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F20\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fcompare\u002Fv0.3.0...v0.3.5","2025-04-03T23:08:49",{"id":243,"version":244,"summary_zh":245,"released_at":246},255851,"v0.3.0","## What's Changed\r\n* (feat) add server aliases functionality by @ayakut16 in https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fpull\u002F16\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fcompare\u002Fv0.2.2...v0.3.0","2025-04-02T23:03:21",{"id":248,"version":249,"summary_zh":250,"released_at":251},255852,"v0.2.2","**Full Changelog**: https:\u002F\u002Fgithub.com\u002Ff\u002Fmcptools\u002Fcompare\u002Fv0.2.1...v0.2.2","2025-03-30T06:36:03"]