0Pricing
MCP Academy · 课时

发现工具与资源

以编程方式列出服务器提供的内容。

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

本课时的部分内容尚未翻译,以英文显示。

Ask Before You Act

A client should never assume what a server can do. Once connected, it discovers the available capabilities by asking the server to list them.

List the Tools

Call session.list_tools() and the server returns every tool it exposes, ready for your code to inspect.

result = await session.list_tools()

Read Each Tool

The result carries a tools list. Each entry has a name and a human-readable description so you know what it does.

for tool in result.tools:
    print(tool.name, tool.description)

Inspect the Input Shape

Every tool also exposes an inputSchema, a JSON Schema describing the arguments it accepts. This is how you learn what to send.

print(result.tools[0].inputSchema)

List the Resources

Servers can offer read-only data too. Call session.list_resources() to fetch the set of resources you may read.

res = await session.list_resources()

Resources Have URIs

Each resource is addressed by a uri, like a file path or a custom scheme. You use that uri later to fetch its contents.

for r in res.resources:
    print(r.uri, r.name)

List the Prompts

The third primitive is prompts. session.list_prompts() reveals reusable instruction templates the server publishes.

prompts = await session.list_prompts()

Discovery Is Capability-Gated

You only get what the server advertised at the handshake. If it declared no resources, listing them returns an empty set.

Build a Live Menu

Discovery means a client adapts at runtime. Plug in a new server and its tools simply appear, with no client code changes needed.

Feed It to a Model

Discovered tool names, descriptions, and schemas are exactly what a model needs to decide which tool fits a request later on.

Cache or Re-List

Tool lists can change, so a careful client may re-list after an update notification rather than trusting a stale snapshot.

Quick Check

Which session call returns the server tool list with their schemas?

Recap: Knowing the Menu

You learned to discover a server at runtime: list its tools, resources, and prompts, then read each name, description, and schema before acting.

常见问题解答

「发现工具与资源」课时是免费的吗?

是的 — 「发现工具与资源」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 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. 通过 LLM 路由工具调用
← 返回 MCP Academy