模型上下文协议工具

MCP是一个用于与LLM交互的协议工具,提供资源、提示、工具等功能,支持通过stdio或sse传输方法进行通信。

  • by WojciechMatuszewski
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 wojciechmatuszewski/mcp-server-learning

使用说明

了解MCP

全部:

  • 实施采样https://modelcontextprotocol.io/docs/concepts/sampling

  • 实施根。

学习内容

  • 有两种运输方式:

    • 经由 标准输入输出。在这里,您必须提供一个指向客户端可以使用的服务器二进制文件的路径。

    • 经由 sse。在这里,您必须提供服务器的网络地址。

      • 这种传输方法在我看来更通用。它允许服务器与客户端分开部署。
  • 一、 真的 想要使用 fastify 对于服务器,但我无法使其与现有的SDK一起工作。

    • 这是一个学习如何使用编写此类服务器的好机会 仅 节点!
  • 与MCP相关的核心原语 是:

    • 资源 –您可以将这些视为数据(如PDF、数据库记录等),客户端可以使用这些数据来形成对用户查询的正确响应。

    • 鼓励 –将这些视为您有时在“提示到x”流程的文本框下看到的预定义提示。

    • 工具 –这些允许LLM代表用户执行操作。 是服务器调用该工具并将结果响应给客户端客户端的工作是将结果传递给LLM。

    • 采样 -说实话,我还不确定这些是什么。

    • 根 这些定义了服务器的“边界”。例如,如果您的服务器公开了一个与文件系统配合使用的工具,您可以在“根”中包含特定目录,以便该工具仅“绑定”到该目录。

    • 运输 -上面已经写过了。有STDIO和SSE传输。至于消息,它们是通过格式化的 JSON-RPC 2.0.

  • 一、 真的 比如SDK内置了错误处理功能。

    • 我可以在服务器中抛出错误 tool 回调函数,客户端SDK将处理该函数并相应地做出响应。