Pharo MCP服务器
 
Anthropic模型上下文协议(MCP)服务器规范的Pharo Smalltalk实现。使Claude等LLM能够与Pharo应用程序交互。
______________________________________________________________________
目录
什么是MCP?
Anthropic开发的模型上下文协议(MCP)是一种规范,旨在标准化大型语言模型(LLM)与外部工具和服务的交互方式。它定义了以下机制:
- 发现: LLM如何确定服务是否支持MCP并获取基本信息。
- 服务说明: 服务如何描述其可用的工具(功能),包括它们的名称、用途、输入参数和输出格式。
- 调用: LLM如何使用所需的参数安全地调用特定工具并接收结果。
目标是使LLM工具的使用更加可靠、安全和标准化。
有关更多详细信息,请参阅官方 .
本项目目标
该项目旨在提供一个强大且易于使用的 MCP规范的服务器端实现 特别是对于 Pharo Smalltalk 环境。
它允许开发人员在他们的Pharo应用程序中公开功能(如查询数据、创建对象、触发操作),作为符合MCP的LLM(如Claude 3)可以通过标准化协议发现和调用的“工具”。
这弥合了动态Pharo环境与现代LLM能力之间的差距。
特性
- MCP规范合规性: 实现核心服务器端终结点:
- 发现(/.well-known/model-context) - 服务说明(/mcp/description -或可配置路径) - 调用(/mcp/invoke -或可配置路径)
- 动态工具注册: 提供一个简单的API,将Pharo方法或块注册为MCP工具。
- 自动服务说明: 根据注册的工具及其元数据(名称、描述、模式)生成MCP服务描述JSON。
- Web服务器集成: 建在 茶壶 微web框架。
- JSON处理: 用途 NeoJSON 用于强大的JSON解析和生成。
- 可扩展: 设计用于集成到更大的Pharo应用程序中。
- (计划中): 使用JSON模式定义对工具参数进行输入验证。
- (计划中): 常见Pharo对象模型的集成助手(例如,使用 航行).
安装
此项目旨在使用Metacello加载。
- 确保Metacello已加载 在你的Pharo形象中(通常是这样)。
- 执行以下代码 在Pharo工作区中(必要时调整存储库URL和分支/标签):
Metacello new
baseline: 'MCPFramework'; "<- Use the actual name of YOUR baseline class (without 'BaselineOf')"
repository: 'github://YOUR_USERNAME/pharo-mcp-server:main/'; "<- CHANGE THIS to your repo URL and branch/tag"
load.