0Pricing
MCP Academy · 课时

实现工具、资源与提示词

为使用场景构建这三种基本组件。

实现工具、资源与提示词 是 CoddyKit 上的免费 MCP Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 MCP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 MCP Academy 课程共包含 4 节课。

构建全部三个基本组件

现在您已经有了计划,可以编写真正的代码了。本课会将您的工具、资源和 prompt连接成一个可运行的服务器。🛠️

设置后端

首先,为服务器提供可操作的对象。一个小型存储,例如列表或 SQLite 文件,可以保存所有基本组件共享的笔记。

import sqlite3

db = sqlite3.connect("notes.db")
db.execute("CREATE TABLE IF NOT EXISTS notes(id INTEGER PRIMARY KEY, title TEXT, body TEXT)")

编写添加工具

您的第一个tool用于创建笔记。装饰器会将其公开,而类型提示会把参数转换成模型可以填写的架构。

@mcp.tool()
def add_note(title: str, body: str) -> str:
    db.execute("INSERT INTO notes(title, body) VALUES (?, ?)", (title, body))
    db.commit()
    return "Saved."

编写搜索工具

添加第二个tool,根据关键词搜索笔记。返回简短的匹配列表,可以让模型更容易使用结果。

@mcp.tool()
def search_notes(query: str) -> list[str]:
    rows = db.execute("SELECT title FROM notes WHERE body LIKE ?", (f"%{query}%",))
    return [r[0] for r in rows]

清晰描述工具

为每个工具提供简单明了的文档字符串。该文本会成为工具的描述,清晰的描述能帮助模型在正确的时间选择正确的工具。

公开一个资源

现在提供只读上下文。resource URI 让模型可以获取一条笔记,而不会更改存储中的任何内容。

@mcp.resource("note://{note_id}")
def get_note(note_id: int) -> str:
    row = db.execute("SELECT body FROM notes WHERE id = ?", (note_id,)).fetchone()
    return row[0] if row else "Not found."

获取 URI 变量

URI 中的大括号会变成功能参数。MCP 会直接从路径中提取笔记 ID,因此每次读取都准确指向一条记录。

注册一个 prompt

添加一个用户可以触发的可复用prompt。它会为请求提供框架,让调用方每次都获得一致且高质量的指令。

@mcp.prompt()
def summarize(note_id: int) -> str:
    return f"Read note://{note_id} and summarize it in three bullet points."

返回有用的文本

让每个结果都保持简洁且易于人类阅读。简短清晰的字符串可以节省模型令牌,也让面向用户的输出更容易阅读。

可以组合,但要明确职责

工具负责操作,资源负责读取,prompt 负责提供指令。保持每个职责彼此独立,客户端和模型就始终知道各自的预期用途。

连接入口点

在文件末尾运行服务器,以便客户端能够连接。run 调用会启动循环,并将控制权交给传输层。

if __name__ == "__main__":
    mcp.run()

快速检查

让我们检查 resource URI 的细节。

回顾

您实现了全部三个基本组件:负责操作的工具、负责读取的资源,以及负责提供指令的 prompt。综合项目服务器现在已经能够完成真正的工作。🎯

常见问题解答

「实现工具、资源与提示词」课时是免费的吗?

是的 — 「实现工具、资源与提示词」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 MCP Academy 课程的其余内容,请升级到 CoddyKit PRO。 MCP Academy 课程共包含 4 节课。

「实现工具、资源与提示词」这节课中我会学到什么?

为使用场景构建这三种基本组件。 你通过在浏览器中直接运行的动手代码来练习 MCP Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 MCP Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 MCP Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「实现工具、资源与提示词」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 MCP Academy 课中编写并运行代码吗?

能。每节 MCP Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 限定项目与工具范围
  2. 实现工具、资源与提示词
  3. 测试、检查并强化
  4. 记录文档并发布服务器
← 返回 MCP Academy