ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

MCP 入门实战指南:基于 mcp-for-beginners 从零搭建 Server、Client 与 LLM Agent

2026/10/2 1:51:30 拓冰建站 浏览量
MCP 入门实战指南:基于 mcp-for-beginners 从零搭建 Server、Client 与 LLM Agent 教程文档人工智能【免费下载链接】mcp-for-beginnersThis open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for developers, it focuses on practical techniques for building modular, scalable, and secure AI workflows from session setup to service orchestration.项目地址https://gitcode.com/GitHub_Trending/mc/mcp-for-beginners点击查看免费下载本文是 mcp-for-beginners 开源课程第三章Getting Started的系统性导读与实战解析。该章节从环境准备、官方 SDK 选型出发通过 15 个循序渐进的小节带你亲手创建第一个 MCP Server、编写可编程 Client、为 Client 接入 LLM并依次掌握 stdio 与 Streamable HTTP 传输、VS Code 消费、测试、部署等完整链路。读完本文你将具备一套可直接落地的多语言.NET、Java、TypeScript、JavaScript、Python、RustMCP 开发方法论。章节总览Getting Started 教你什么Model Context ProtocolMCP是一个开放协议用于标准化应用程序向 LLM 提供上下文的方式。可以把 MCP 理解成“AI 应用的 USB-C 接口”——它提供了一种标准化的途径将 AI 模型连接到不同的数据源和工具。用一句话概括本模块的核心思想如果你在构建 AI 应用你可以在 LLM 中挂载工具和资源让它变得更聪明而如果把工具和资源放到一台服务器上那么任何客户端无论是否带 LLM都能复用这份能力。03-GettingStarted/README.md是整个第三章的枢纽文档它把学习路径拆成了 15 个相互衔接的小节你的第一个 Server——创建第一个服务器并用 Inspector 工具检视它这是测试和调试服务器的宝贵手段Client——编写一个能连接服务器的客户端带 LLM 的 Client——给客户端加一个 LLM让它能“协商”服务器该做什么在 Visual Studio Code 中通过 GitHub Copilot Agent 模式消费服务器stdio 传输 Server——本地 MCP 服务器与客户端通信的推荐标准提供基于子进程的安全通信与内置进程隔离HTTP StreamingStreamable HTTP——学习 MCP 规范中的标准远程传输同时了解课程中保留的旧版基于会话的实现**使用 Microsoft Foundry ToolkitVS Code 扩展**消费和测试 MCP 客户端与服务器测试——从不同角度测试服务器与客户端部署——把 MCP 方案部署到不同环境高级服务器用法认证——从 Basic Auth 到 JWT 与 RBAC 的简单认证建议先学这里再参考第 2 章安全最佳实践做加固MCP Hosts——配置 Claude Desktop、Cursor、Cline、Windsurf 等主流宿主客户端了解传输类型与排障MCP Inspector——用交互式 Inspector 工具调试测试 MCP 服务器Sampling——学习2025-11-25的 legacy Sampling 原语以及如何迁移到直接 LLM 提供商集成该原语在 MCP2026-07-28中已弃用MCP Apps——构建能返回 UI 指令的 MCP 服务器。学习目标完成本模块后你将能够在 C#、Java、Python、TypeScript、JavaScript以及 Rust中搭建 MCP 开发环境构建并部署带自定义能力resources、prompts、tools的基础 MCP 服务器创建能连接 MCP 服务器的宿主应用测试与调试 MCP 实现理解常见搭建难题及其解决方案将 MCP 实现连接到主流 LLM 服务。搭建 MCP 开发环境前置条件开始 MCP 开发前请确保具备开发环境所选语言C#、Java、Python、TypeScript 或 Rust对应的运行时与工具链IDE/编辑器Visual Studio、Visual Studio Code、IntelliJ、Eclipse、PyCharm 或任意现代代码编辑器包管理器NuGet、Maven/Gradle、pip、npm/yarn 或 CargoAPI Keys宿主应用中计划使用的 AI 服务密钥。官方 SDK 一览后续各小节将出现基于 Python、TypeScript、Java 和 .NET 的解决方案对应的官方 SDK 如下C# SDK与微软协作维护Java SDK与 Spring AI 协作维护TypeScript SDK官方 TypeScript 实现Python SDK官方 Python 实现FastMCPKotlin SDK官方 Kotlin 实现Swift SDK与 Loopwork AI 协作维护Rust SDK官方 Rust 实现Go SDK官方 Go 实现。协议版本提示重要前提各语言对 MCP2026-07-28规范的 SDK 支持是分语言逐步推出的。运行示例前务必检查包版本和 SDK 发布说明确认其支持的协议修订版本。例如课程明确指出Java 的 HTTP 示例使用的是 legacy HTTPSSE 传输、面向兼容 MCP2025-11-25的 SDK而新的远程服务器应使用2026-07-28的 Streamable HTTP 传输。核心概念一个 MCP Server 的组成一个典型的 MCP Server 通常包含四类能力Server Configuration端口、认证及其他设置Resources提供给 LLM 的数据与上下文Tools模型可以调用的功能Prompts用于生成或组织文本的模板。以 TypeScript 为例最精简的服务器骨架如下见 01-first-server/README.mdimport { McpServer, ResourceTemplate } from modelcontextprotocol/sdk/server/mcp.js; import { StdioServerTransport } from modelcontextprotocol/sdk/server/stdio.js; import { z } from zod; // Create an MCP server const server new McpServer({ name: Demo, version: 1.0.0 }); // Add an addition tool server.tool(add, { a: z.number(), b: z.number() }, async ({ a, b }) ({ content: [{ type: text, text: String(a b) }] }) ); // Add a dynamic greeting resource server.resource( greeting, // list 参数控制资源如何列出设为 undefined 表示禁用该资源的列表 new ResourceTemplate(greeting://{name}, { list: undefined }), async (uri, { name }) ({ contents: [{ uri: uri.href, text: Hello, ${name}! }] }) ); server.prompt( review-code, { code: z.string() }, ({ code }) ({ messages: [{ role: user, content: { type: text, text: Please review this code:\n\n${code} } }] }) ); // Start receiving messages on stdin and sending messages on stdout const transport new StdioServerTransport(); await server.connect(transport);这段代码做了四件事导入 MCP TypeScript SDK 必要类创建并配置 MCP 服务器实例注册自定义工具add并绑定处理函数启动服务器监听 MCP 请求。其中server.resource的list参数值得注意——设置list: undefined会禁用该资源的自动列表这在资源数量庞大或不希望被枚举时非常有用。15 节课程深度导航第 1 课创建你的第一个 MCP Server这是全模块的起点。一个 MCP Server 可以访问本地文件与数据库、连接远程 API、执行计算、集成其他工具与服务、提供交互 UI。创建服务器的标准流程是四步安装 MCP SDK → 创建项目并搭好结构 → 编写服务器代码 → 测试服务器。创建项目各语言命令# TypeScript mkdir calculator-server cd calculator-server npm init -y # Python mkdir calculator-server cd calculator-server code . # .NET dotnet new console -n McpCalculatorServer cd McpCalculatorServer # Rust mkdir calculator-server cd calculator-server cargo initJava 则创建一个 Spring Boot 项目Maven、Java 21curl https://start.spring.io/starter.zip \ -d dependenciesweb -d javaVersion21 -d typemaven-project \ -d groupIdcom.example -d artifactIdcalculator-server \ -d nameMcpServer -d packageNamecom.microsoft.mcp.sample.server \ -o calculator-server.zip unzip calculator-server.zip -d calculator-server cd calculator-server添加依赖# TypeScript npm install modelcontextprotocol/sdk zod npm install -D types/node typescript # Python创建虚拟环境 python -m venv venv pip install mcp[cli] # .NET dotnet add package ModelContextProtocol --prerelease dotnet add package Microsoft.Extensions.Hosting # Rust cargo add rmcp --features server,transport-io cargo add serde cargo add tokio --features rt-multi-thread # Java ./mvnw clean install -DskipTests各语言的最小服务器骨架PythonFastMCP 装饰器风格solution/python# server.py from mcp.server.fastmcp import FastMCP mcp FastMCP(Demo) mcp.tool() def add(a: int, b: int) - int: Add two numbers return a b mcp.resource(greeting://{name}) def get_greeting(name: str) - str: Get a personalized greeting return fHello, {name}! if __name__ __main__: mcp.run().NETHost AddMcpServer服务注册Program.csusing Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using ModelContextProtocol.Server; using System.ComponentModel; var builder Host.CreateApplicationBuilder(args); builder.Logging.AddConsole(consoleLogOptions { // 将所有日志输出到 stderr避免污染 stdout 上的 MCP 协议消息 consoleLogOptions.LogToStandardErrorThreshold LogLevel.Trace; }); builder.Services .AddMcpServer() .WithStdioServerTransport() .WithToolsFromAssembly(); await builder.Build().RunAsync(); [McpServerToolType] public static class CalculatorTool { [McpServerTool, Description(Adds two numbers)] public static string Add(int a, int b) $Sum {a b}; }JavaSpring Boot Spring AI 的Tool注解方式完整实现见 01-first-server/solution/java通过MethodToolCallbackProvider将CalculatorService中的add、subtract、multiply、divide、power、squareRoot、modulus、absolute、help等Tool方法自动暴露为 MCP 工具课程还提供了StartupConfig启动横幅、HealthController/health健康检查与GlobalExceptionHandler统一异常处理等生产化可选组件。Rustrmcp crate01-first-server/solution/rust使用#[tool_router]派生宏注册工具、#[tool_handler]实现ServerHandler提供ServerInfo通过#[tool(description Adds a and b)]宏声明工具函数最后Calculator::new().serve(stdio()).await在标准输入输出上提供服务。运行与测试# TypeScript npm run build # Pythonmcp run 直接运行mcp dev 会自动拉起 Inspector 并注入会话令牌 mcp run server.py mcp dev server.py # .NET dotnet run # Java java -jar target/calculator-server-0.0.1-SNAPSHOT.jar # Rust cargo fmt cargo run最后用 Inspector 交互验证连接后依次点Connect→ 选择Tools下的listTools→ 选中Add填写参数 → 即可看到add工具的真实返回结果。完整演练步骤与截图见 01-first-server/README.md。第 2 课编写 MCP ClientClient 是直接与 MCP Server 通信、请求 resources/tools/prompts 的自定义应用或脚本。与 Inspector 的图形化交互不同自己写 Client 可以实现程序化、自动化的集成。编写一个 Client 需要四步导入正确库与 Server 同一套库、不同构造→ 实例化 Client 并连接所选传输 → 决定列出哪些资源resources、tools、prompts→ 将 Client 集成进宿主应用用户输入提示词或命令时调用对应服务器能力。以 TypeScript 为例核心模式是“用StdioClientTransport描述如何启动服务器子进程用Client连接然后列出并调用能力”import { Client } from modelcontextprotocol/sdk/client/index.js; import { StdioClientTransport } from modelcontextprotocol/sdk/client/stdio.js; const transport new StdioClientTransport({ command: node, args: [server.js] }); const client new Client({ name: example-client, version: 1.0.0 }); await client.connect(transport); const prompts await client.listPrompts(); const resources await client.listResources(); const tools await client.listTools(); // 调用工具名称 参数 const result await client.callTool({ name: example-tool, arguments: { arg1: value } });Python 端使用StdioServerParametersstdio_clientClientSession组合注意commandmcp、args[run, server.py]指定的是服务器的启动方式.NET 端用McpClient.CreateAsync(clientTransport)Java 端用McpClient.sync(transport)配合WebFluxSseClientTransport连接http://localhost:8080Rust 端用TokioChildProcess启动兄弟目录下的服务器项目。客户端既能“启动服务器”如 stdio 场景也能“连接运行中的服务器”如 Java 的 SSE 场景这是除 Inspector 之外验证服务器能力的另一条重要途径。完整多语言实现可对照 02-client/solution 与单文件版 complete_examples.md。第 3 课给 Client 加 LLM前两课的客户端是“显式调用”但用户生活在 Agent 时代——他们希望用自然语言对话而不是精确的客户端命令。解决方案就是给 Client 加上一个 LLM。交互流程建立与服务器的连接 → 列出 capabilitiesprompts/resources/tools并保存其 schema → 把能力和 schema 转成 LLM 能理解的格式 → 处理用户提示词时把提示词连同工具列表一起交给 LLM。课程以 Microsoft Foundry 作为 LLM 后端GitHub Models 已于 2026-07-30 退役需要部署一个活跃模型如gpt-5.1并设置环境变量export AZURE_OPENAI_ENDPOINThttps://resource-name.openai.azure.com export AZURE_OPENAI_API_KEYapi-key export AZURE_OPENAI_DEPLOYMENTgpt-5.1三个关键步骤在代码上的体现以 TypeScript 为例列出能力client.listTools()拿到toolsResult.tools转换 schema写一个openAiToolAdapter把 MCP 工具的inputSchema映射成 OpenAI function calling 的{ type: function, function: { name, description, parameters } }结构对话循环把转换后的 tools 传入chat.completions.create({ tools })检查响应的message.tool_calls命中则用client.callTool({ name, arguments })回源执行最后把结果交还 LLM。// 转换 MCP 工具为 LLM 工具 const tools toolsResult.tools.map((tool) this.openAiToolAdapter({ name: tool.name, description: tool.description, input_schema: tool.inputSchema, })); // 调用 LLM 并处理工具调用 let response this.openai.chat.completions.create({ model: process.env.AZURE_OPENAI_DEPLOYMENT ?? gpt-5.1, messages, tools, });Python、.NET、Java、Rust 的思路完全一致Python 通过convert_to_llm_toolcall_llmsession.call_tool.NET 通过ChatTool.CreateFunctionTool转换 CompleteChatAsyncCallToolAsyncJava 用 LangChain4j 的McpToolProviderAiServices自动完成 schema 转换与工具调用Rust 用format_tools助手函数 call_llm/process_llm_response/extract_tool_call_info三个函数实现完整的“LLM 决定调用 → 回源执行 → 继续对话”循环。Java 与 Rust 的完整实现分别见 03-llm-client/solution/java 与 03-llm-client/solution/rust。第 4 课在 VS Code 中用 GitHub Copilot Agent 模式消费服务器VS Code 与 GitHub Copilot 可以作为 Client 消费 MCP Server——服务器上任何能力都能直接在 IDE 内使用例如接入 GitHub 的 MCP 服务器后就能用自然语言控制 GitHub 而无需敲终端命令。有两种控制方式图形界面以及终端里的code可执行文件code --add-mcp {\name\:\my-server\,\command\: \uvx\,\args\: [\mcp-server-fetch\]}实操三步走先在设置中开启 MCP 发现File - Preferences - Settings搜索并启用chat.mcp.discovery.enabled再在项目根目录创建.vscode/mcp.json注册服务器{ inputs: [], servers: { hello-mcp: { command: node, args: [build/index.js] } } }最后点击服务器条目旁的“播放”图标启动服务器Copilot Chat 的工具图标上会显示可用工具数量可勾选/取消勾选工具决定是否作为上下文随后输入与工具描述匹配的提示词如 “add 22 to 1”即可得到工具结果。该小节配套截图与排障演示见 04-vscode/README.md相关的 VS Code 界面截图存放在 images/03-GettingStarted 下。第 5 课stdio 传输 Server自 MCP 规范2025-06-18起独立的 SSE 传输已被弃用并替换为 Streamable HTTP当前规范定义两种主要传输机制stdio本地服务器推荐与Streamable HTTP远程服务器内部可能使用 SSE。stdio 的工作原理与关键要求简单通信服务器从标准输入stdin读 JSON-RPC 消息向标准输出stdout写消息进程化客户端将 MCP 服务器作为子进程启动消息格式每条消息是独立的 JSON-RPC 请求/通知/响应以换行符分隔日志服务器可以用 UTF-8 字符串写stderr做日志。三条硬性规则消息必须以换行符分隔且不能内嵌换行服务器不得向stdout写入任何非 MCP 消息客户端不得向服务器stdin写入任何非 MCP 消息。这也是 .NET 示例把LogToStandardErrorThreshold设为Trace、Rust/TypeScript 示例把日志打到console.error的原因——stdout只属于协议日志永远走stderr。Python 的实现05-stdio-server/README.mdimport asyncio from mcp.server import Server from mcp.server.stdio import stdio_server server Server(example-stdio-server) server.tool() def calculate_sum(a: int, b: int) - int: Calculate the sum of two numbers return a b async def main(): async with stdio_server(server) as (read_stream, write_stream): await server.run(read_stream, write_stream, server.create_initialization_options()) if __name__ __main__: asyncio.run(main())调试与消费 stdio 服务器有三条路径MCP Inspectornpx modelcontextprotocol/inspector python server.pyVS Code 调试.vscode/launch.json配置 python launch 后打断点Claude 桌面端在claude_desktop_config.json的mcpServers中声明command与args重启后即可用自然语言调用工具。第 6 课Streamable HTTP 与 MCP 流式通知远程场景下MCP 支持三种传输机制差异如下Transport状态通知典型用途stdio当前标准支持本地子进程HTTPSSE已弃用2025-03-26起支持旧版远程实现Streamable HTTP当前标准支持远程与云服务器注意本节实现示例面向 MCP 规范2025-11-25legacyinitialize握手、Mcp-Session-Id、GET 事件流与可恢复模型2026-07-28已移除这些特性新的请求是自包含的 POST带MCP-Protocol-Version、Mcp-Method头。新实现请先阅读 01-CoreConcepts/mcp-2026-07-28.md。MCP 的“流式”与经典 HTTP 流式的本质区别在于主响应仍然是一条完整响应进度信息通过独立的通知notification消息实时推给客户端。对比关系如下特性经典 HTTP 流式MCP 流式通知主响应分块chunked单一响应、最后返回进度更新作为数据块发送作为通知发送客户端要求处理流实现消息处理器适用场景大文件、AI token 流进度、日志、实时反馈通知是不带id、不需要响应的 JSON-RPC 消息用于进度、取消等单向事件。服务器端通过ctx.info()发送进度Pythonawait ctx.info(Processing file 1/3...).NETawait ctx.Info(...)客户端通过message_handler处理Python 的ClientSession(..., message_handler...)、.NET 的ClientSessionOptions.MessageHandler。启用流式传输Python 用mcp.run(transportstreamable-http).NET 用McpBuilder.Create().UseStreamableHttp()。课程还提供了一个“连接托管 MCP 服务器”的可选练习hosted_search.py 思路安装mcp1.10,2后用streamablehttp_client(https://search.parallel.ai/mcp)连接匿名端点、列出web_search/web_fetch工具并执行搜索注意该免费端点是限流的。安全方面HTTP 传输必须校验Origin头防 DNS rebinding、本地开发绑定localhost、生产环境实现认证与 CORS 并启用 HTTPS。第 7 课使用 Microsoft Foundry Toolkit 消费服务器Microsoft Foundry ToolkitVS Code 扩展让你在 IDE 内直接把 MCP 服务器接到 Agent 上。以计算器为例Agent 收到 “Whats 47 times 89?” 这样的提示词即可调用 MCP 工具完成数学运算无需硬编码逻辑或自建 API。目前 Toolkit 支持 Python 与 TypeScript 两种 MCP 模板macOS 用户注意课程指出 macOS 上存在依赖安装问题暂无法完成本教程。操作流程在 Activity Bar 打开 Toolkit → 添加 GPT-5.1 部署到 My Models → 用Agent (Prompt) Builder新建名为 “Calculator Agent” 的 Agent → 用Generate system prompt功能自动生成系统提示词 → 在 Tools 区域点 MCP Server选择python-weather模板创建名为 “Calculator” 的服务器 → 把server.py替换为带add/subtract/multiply/divide四个server.tool()的 FastMCP 实现 → 按F5启动调试在User prompt输入 “I bought 3 items priced at $25 each, and then used a $20 discount. How much did I pay?”。此时 Agent 会自动依次调用multiply与subtract工具最终给出$55的答案——工具响应与模型最终输出会在界面中分开展示。详见 07-aitk/README.md。第 8 课测试与调试MCP 生态提供三类测试手段08-testing/README.mdMCP InspectorNode.js 编写的工具可用npx modelcontextprotocol/inspector临时下载运行。图形模式支持能力发现、实时测试工具执行、查看服务器元数据CLI 模式适合脚本化与 CI/CD# 图形模式 npx modelcontextprotocol/inspector node build/index.js # CLI 模式列出服务器上的所有工具 npx modelcontextprotocol/inspector --cli node build/index.js --method tools/list手动测试curl任何能发 HTTP 请求的工具都可以例如curl http://localhost:3000/v1/metadata curl -X POST http://localhost:3000/v1/tools/execute \ -H Content-Type: application/json \ -d {name: calculator, parameters: {expression: 22}}单元测试用你熟悉的测试框架直接测试 server 与 client 的功能。课程给出的 Python 示例使用pytestmcp.shared.memory.create_connected_server_and_client_session在内存中创建“已连通的服务器与客户端会话”直接断言list_tools返回的工具数量——这是一种无需真实传输即可验证协议行为的轻量做法。第 9 课部署 MCP Server部署策略按规模递进09-deployment/README.md本地部署下载服务器 → 启动进程 →SSE 型服务器配置网络并让客户端通过http://localhost:3000之类的地址连接云平台Serverless Functions、容器服务Azure Container Apps、AWS ECS、Google Cloud Run、Kubernetes 集群Azure Container Apps 示例本地uv venv uv sync uv run fastapi dev main.py跑通后用.vscode/mcp.json里的 SSE 服务器条目type: sseurl让 VS Code/GitHub Copilot 发现工具最后az containerapp up一键部署。注意示例中的/sse端点对应 legacy HTTPSSE 传输2026-07-28的远程服务器使用 Streamable HTTP端点通常由服务器自定义如/mcp。第 10 课高级服务器用法进入高级主题后你会探索更复杂的服务器能力组合与工程化用法配套代码见 10-advanced/code。建议与第 5 章的 Advanced Topics如 mcp-routing、mcp-transport衔接学习。第 11 课认证本课从 Basic Auth 起步逐步过渡到 JWT 与 RBAC11-simple-auth/code 与 solution。课程建议的学习顺序是先学本课再看第 5 章 Advanced Topics最后按第 2 章02-Security的建议做额外安全加固。第 12 课MCP Hosts配置并使用 Claude Desktop、Cursor、Cline、Windsurf 等主流 MCP 宿主客户端重点是理解不同宿主对 stdio/Streamable HTTP 传输的支持方式、配置文件格式与排障方法。第 13 课MCP Inspector 深入Inspector 被誉为 “Postman for MCP”13-mcp-inspector/README.md。它回答四个经典问题服务器是否在运行连接状态、工具是否注册正确列出工具、响应格式是什么完整 JSON 响应、工具为何不工作详细错误消息。安装有三种方式npx modelcontextprotocol/inspector快速推荐、npm install -g后直接mcp-inspector、或作为项目 devDependency 并加入 npm script。连接 stdio 服务器npx modelcontextprotocol/inspector python -m your_server_module或npx modelcontextprotocol/inspector node ./build/index.js可用OPENAI_API_KEYxxx前缀注入环境变量连接 HTTP 服务器先启动服务器再npx modelcontextprotocol/inspector --sse http://localhost:8080/sse。新服务器请选用支持 Streamable HTTP 的 Inspector 版本并选择该传输。第 14 课Samplinglegacy 原语本课讲解2025-11-25的 legacy Sampling 原语以及如何把新设计迁移到直接集成 LLM 提供商。由于 Sampling 在 MCP2026-07-28中已弃用新项目应直接走“客户端自带 LLM”路线即第 3 课的模式详见 14-sampling。第 15 课MCP AppsMCP 服务器不仅能返回数据还能附带 UI 指令。这一课带你构建“回复中包含 UI 指令”的 MCP 服务器代码与作业见 15-mcp-apps/code 与 assignment。常见问题与排查课程总结了新手最高频的七个问题01-first-server/README.md问题可能的解决方案Connection refused检查服务器是否在运行、端口是否正确工具执行报错检查参数校验与错误处理认证失败核对 API 密钥与权限Schema 校验错误确保参数与已定义 schema 一致服务器无法启动检查端口冲突或缺失依赖CORS 错误为跨域请求配置正确的 CORS 头认证问题校验令牌有效性与权限本地开发时注意三件事启动服务器进程、确认端口可访问、客户端使用http://localhost:3000之类的本地连接地址stdio 型服务器无需网络配置。配套示例与练习本模块为每个章节都准备了补充示例各语言的计算器实现可直接对照运行Java Calculator.NET CalculatorJavaScript CalculatorTypeScript CalculatorPython CalculatorRust Calculator每节课程还自带作业与答案例如第 1 课的作业是“用你喜欢的语言实现一个自选工具、定义输入输出参数、用 Inspector 验证、用多种输入测试”解答见各节的solution/目录。关键要点使用语言专属 SDK 搭建 MCP 开发环境非常直接构建 MCP 服务器 创建并注册带清晰 schema 的工具外加 resources 与 promptsMCP 客户端连接服务器和模型以扩展能力测试与调试是可靠 MCP 实现的关键部署选项从本地开发一路延伸到云端方案传输选型是重要决策本地优先 stdio远程与云优先 Streamable HTTPSSE 已弃用勿用于新实现多语言官方 SDK 的2026-07-28支持正在陆续落地运行示例前务必核对包版本与协议版本。下一步开始第一课创建你的第一个 MCP Server学完本模块后继续进入 第 4 章Practical Implementation从分页、多语言实现等角度做实战落地深入底层协议可阅读 01-CoreConcepts特别是 mcp-2026-07-28.md做安全加固则参考 02-Security。赞分享教程文档人工智能【免费下载链接】mcp-for-beginnersThis open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for developers, it focuses on practical techniques for building modular, scalable, and secure AI workflows from session setup to service orchestration.项目地址https://gitcode.com/GitHub_Trending/mc/mcp-for-beginners点击查看免费下载相关推荐MCP Sampling 实战指南让 Server 通过 Client 委托 LLM 生成内容mcp-for-beginnersMCP Sampling 实战指南让 Server 通过 Client 委托 LLM 生成内容mcp for beginners 本篇技术指南聚焦 Mod教程文档人工智能基于 Spring Boot WebFlux 构建 MCP 计算器服务mcp-for-beginners 的 Java 入门实战指南基于 Spring Boot WebFlux 构建 MCP 计算器服务mcp for beginners 的 Java 入门实战指南 本篇技术指南围绕开源课程教程文档人工智能2025最完整MCP协议实战教程零基础入门Model Context Protocol开发2025最完整MCP协议实战教程零基础入门Model Context Protocol开发 Model Context Protocol MCP 是AI应用开教程文档人工智能上一篇Meteor 1.10 迁移指南MongoDB exit code 62、Cordova 9 与 WKWebViewOnly 关键变更详解下一篇昇腾AI处理器/asc-devkit Gather样例创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考