掘金 人工智能 07月08日 16:27
MCP极简入门:@modelcontextprotocol/inspector 如何使用
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了Model Context Protocol (MCP) 协议的开发工具——MCP Inspector,它提供了Web界面和代理服务器,用于测试和调试MCP服务器。文章详细阐述了MCP Inspector的安装、运行、核心功能,以及CLI模式的使用方法,方便开发者快速上手,进行本地和远程调试。

💻 快速安装与运行:通过`npx @modelcontextprotocol/inspector npx tsx McpServer.ts`命令即可快速启动MCP Inspector,它会自动启动Web界面和代理服务器,无需额外安装步骤。

🌐 Web界面核心功能:MCP Inspector的Web界面提供了Resources、Tools和Prompts三个核心功能。Resources允许查看服务器提供的资源,Tools用于测试工具的调用,Prompts则用于查看和测试服务器的提示模板。

⚙️ CLI模式的灵活应用:MCP Inspector支持CLI模式,方便自动化测试和脚本化操作。通过指定`--cli`参数和相关方法,可以列出资源、调用工具等,实现更灵活的调试和测试。

Model Context Protocol(MCP)是一个用于定义和交互 AI 模型上下文的协议,而 @modelcontextprotocol/inspector 是一个强大的开发工具,提供了直观的 Web 界面(MCP Inspector Client,MCPI)和代理服务器(MCP Proxy,MCPP),用于测试和调试 MCP 服务器。本文将以最简洁的方式介绍如何快速上手使用 MCP Inspector,适合初学者快速入门。

什么是 MCP Inspector?

MCP Inspector 是一个基于 React 的 Web 界面和 Node.js 代理服务器的工具,用于:

快速开始

安装与运行

无需手动安装,直接使用 npx 运行 Inspector,连接到你的 MCP 服务器(假设服务器代码在 McpServer.ts,McpServer.ts在执行命令的当前目录下面,文件的路径是以当前代码的执行目录开始的):

 npx @modelcontextprotocol/inspector npx tsx McpServer.ts
连接远程服务器

若要调试远程 MCP 服务器(如部署在 my-mcp-server.example.com):

 npx @modelcontextprotocol/inspector --cli https://my-mcp-server.example.com

使用 Web 界面

    访问界面:运行命令后,打开浏览器访问 http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=ce0e0c97d3e4a6b8946a3581b9dd604d92b92c1c371bf6d5dc9373599e82a33d。需要完整的路径,填入token,否则无法连接。

    连接失败的页面:

    连接服务器:点击左侧“Connect”按钮,选择或输入服务器地址。

    核心功能

      Resources:查看服务器提供的资源,点击“List Resources”与“List Templates”显示列表,点击具体资源查看内容。

      Rsources的使用

      代码:

       server.registerResource(   'greeting',   new ResourceTemplate('greeting://{name}', { list: undefined }),   {     title: 'Greeting Resource', // Display name for UI     description: 'Dynamic greeting generator'   },   async (uri, { name }) => ({     contents: [       {         uri: uri.href,         text: `Hello, ${name}!`       }     ]   }) ) 

      Tools:列出可用工具,输入参数后调用测试。

      Tools的调用

      代码:

       server.registerTool(   'add',   {     title: 'Addition Tool',     description: 'Add two numbers',     inputSchema: { a: z.number(), b: z.number() }   },   async ({ a, b }) => ({     content: [{ type: 'text', text: String(a + b) }]   }) )

      调用方式与即结果:

      Prompts:查看和测试服务器的提示模板。

      Prompts调用

      代码:

       server.registerPrompt(   'team-greeting',   {     title: 'Team Greeting',     description: 'Generate a greeting for team members',     argsSchema: {       department: completable(z.string(), (value) => {         // Department suggestions         return ['engineering', 'sales', 'marketing', 'support'].filter((d) => d.startsWith(value))       }),       name: completable(z.string(), (value, context) => {         // Name suggestions based on selected department         const department = context?.arguments?.['department']         if (department === 'engineering') {           return ['Alice', 'Bob', 'Charlie'].filter((n) => n.startsWith(value))         } else if (department === 'sales') {           return ['David', 'Eve', 'Frank'].filter((n) => n.startsWith(value))         } else if (department === 'marketing') {           return ['Grace', 'Henry', 'Iris'].filter((n) => n.startsWith(value))         }         return ['Guest'].filter((n) => n.startsWith(value))       })     }   },   ({ department, name }) => ({     messages: [       {         role: 'assistant',         content: {           type: 'text',           text: `Hello ${name}, welcome to the ${department} team!`         }       }     ]   }) )

    导出配置:通过“Server Entry”或“Servers File”生成配置文件,方便复用。下面是复制Servers File的样例,可以添加到自己的mcp的json配置中。

     {     "mcpServers": {         "default-server": {             "command": "npx",             "args": [                 "tsx",                 "McpServer.ts"             ],             "env": {                 "APPDATA": "C:\Users\XXX\AppData\Roaming",                 "HOMEDRIVE": "C:",                 "HOMEPATH": "\Users\XXX",                 "LOCALAPPDATA": "C:\Users\hf\AppData\Local",                 "PATH": "",                 "PROCESSOR_ARCHITECTURE": "AMD64",                 "SYSTEMDRIVE": "C:",                 "SYSTEMROOT": "C:\Windows",                 "TEMP": "C:\Users\XXX\AppData\Local\Temp",                 "USERNAME": "XXX",                 "USERPROFILE": "C:\Users\XXX",                 "PROGRAMFILES": "C:\Program Files"             }         }     } }

    使用 CLI 模式

    CLI 模式适合自动化测试或脚本化操作,需指定 --cli 和方法。

    示例

      列出资源:

       npx @modelcontextprotocol/inspector --cli npx tsx McpServer.ts --method resources/list

      调用工具:

       npx @modelcontextprotocol/inspector --cli npx tsx McpServer.ts --method tools/call --tool-name add --tool-arg a=8 b=7

      远程服务器调用:

       npx @modelcontextprotocol/inspector --cli https://my-mcp-server.example.com --method tools/list

配置多个服务器

通过 JSON 配置文件管理多个 MCP 服务器:

 {   "mcpServers": {     "myserver": {       "command": "npx",       "args": [             "tsx",             "McpServer.ts"       ],       "env": { "key": "value" }     }   } }

启动并指定服务器:

 npx @modelcontextprotocol/inspector --config config.json --server myserver

实用技巧

注意事项


总结

MCP Inspector 是一个简单而强大的工具,通过 Web 界面或 CLI 即可快速测试和调试 MCP 服务器。无论是本地开发还是远程部署,只需几行命令即可上手。开始你的 MCP 之旅吧!

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

MCP Inspector 调试工具 AI模型
相关文章