Your first MCP server

One server, six steps. Each step adds one thing and is a complete program you can run on its own.

基础6 节课30 分钟
  1. 1把服务端立起来 — 并且不往 stdout 写任何东西MCP 服务端课程第一篇。没有工具也没有资源,只把服务端立起来。这里要确认的只有一件事——客户端连上来,能不能拿到 initialize 的回答。以及一条现在不定下来、后面就会一直坏的规矩。5 分钟
  2. 2一个工具 — 说明文比代码更要紧MCP 服务端课程第二篇。注册一个工具。它由名字、说明、输入模式、处理器四块组成,其中三块不是我们读,而是调用方读。所以把说明文写好,比把处理器写好更值钱。5 分钟
  3. 3会拒绝的工具 — 模式是约定,不是保证MCP 服务端课程第三篇。给工具加上输入模式,再写一个不信任这个模式的处理器。直到「放 0 个人进来」和「放 99 个人进来」因为两种不同的理由被拒绝为止。5 分钟
  4. 4把画面做成资源 — 不是代码,是服务端交出来的文档MCP 服务端课程第四篇。服务端把画面当成一个文件拿着,再交出去。改了文件,下一次连接就变了,不用重编译也不用重装——前提是每次请求都去读它。5 分钟
  5. 5进程死了也留得下 — 用最不聪明的办法MCP 服务端课程第五篇。等待人数放在变量里,会随进程一起消失。把它写进文件,而且每次都整份重写。比局部更新慢,但不会留下写了一半的记录。5 分钟
  6. 6只说「变了」 — 为什么不能把值带上MCP 服务端课程最后一篇。让画面不再每秒去问。由服务端来说,而通知里只带 uri,不带值。而且没订阅的客户端,什么都收不到。5 分钟