Mobi MCP 服务器是一个模型上下文协议(MCP)服务器,它允许与 Mobi(GitHub)的给定实例进行智能交互。
在使用 Mobi MCP 服务器之前,你需要了解一些前提条件和安装步骤。
模型上下文协议(MCP)是一种标准化的通信协议,它使 AI 模型能够与外部工具和服务进行交互。当与 Mobi 集成时,MCP 提供了几个关键优势:
克隆仓库:
git clone
cd mobi-mcp
创建 Python 虚拟环境:
python3.12 -m venv .venv
⚠️ 重要提示 如果你没有 Python 3.10+,请先安装它:
brew install python@3.12激活虚拟环境:
source .venv/bin/activate安装依赖项:
pip install -r requirements.txt
将 MCP 服务器连接到 Claude Desktop 是快速尝试此服务器的最简单方法。然后,通过修改 ~/Library/Application\ Support/Claude/claude_desktop_config.json 文件,使用如下 JSON 片段配置应用程序以使用你的 MCP 服务器:
{
"mcpServers": {
"mobi": {
"command": "/Users/{username}/git/mobi-mcp/.venv/bin/python",
"args": ["/Users/{username}/git/mobi-mcp/src/mobi-mcp.py"],
"env": {
"MOBI_BASE_URL": "https://localhost:8443",
"MOBI_USERNAME": "admin",
"MOBI_PASSWORD": "admin",
"MOBI_IGNORE_CERT": "true"
}
}
}
}
⚠️ 重要提示 你需要调整路径,因为需要使用绝对路径。
Claude Desktop 使用标准输入输出(stdio)MCP 传输,但此服务器也支持服务器发送事件(SSE)(你可以使用 --sse 参数运行 mobi-mcp Python 脚本)。
这也假设你正在运行一个 Mobi 实例。如果你想在本地运行一个实例,请参阅 此处 的说明。
MCP 服务器需要以下环境变量:
MOBI_BASE_URL:你的 Mobi 实例的基本 URL(例如,https://localhost:8443)MOBI_USERNAME:用于 Mobi 身份验证的用户名MOBI_PASSWORD:用于 Mobi 身份验证的密码MOBI_IGNORE_CERT:设置为 "true" 以忽略 SSL 证书验证(适用于自签名证书)仓库的组织方式确保了 Mobi API 交互层与 MCP 协议实现之间的清晰分离:
src/mobi.py:包含核心 Mobi API 客户端功能,处理身份验证、API 调用和数据处理src/mobi-mcp.py:主要的 MCP 服务器实现,将 Mobi 功能与模型上下文协议连接起来Dockerfile:支持 MCP 服务器的容器化部署Makefile:提供方便的命令用于环境设置和容器管理requirements.txt:列出项目所需的所有 Python 包依赖项Mobi MCP 服务器提供了以下工具,用于与你的 Mobi 实例进行交互:
record_search在 Mobi 目录中搜索符合指定条件的记录。
offset(整数):分页的起始索引limit(整数):要检索的最大记录数search_text(字符串,可选):在记录中搜索的文本keywords(字符串列表,可选):与记录匹配的关键字types(字符串列表,可选):按记录类型过滤。有效类型包括:
http://mobi.com/ontologies/ontology-editor#OntologyRecord(本体/词汇表)http://mobi.com/ontologies/shapes-graph-editor#ShapesGraphRecord(SHACL)http://mobi.com/ontologies/delimited#MappingRecord(映射)http://mobi.com/ontologies/dataset#DatasetRecord(数据集)entity_search在 Mobi 目录中搜索元数据包含指定字符串的记录。
search_for(字符串):在实体元数据中搜索的子字符串offset(整数):结果集中的起始点limit(整数):要返回的最大实体数types(字符串列表,可选):按实体类型过滤keywords(字符串列表,可选):按关键字过滤fetch_ontology_data获取给定本体记录 IRI 的本体数据。
ontology_iri(字符串):包含本体数据的记录的 IRI(不是本体 IRI 本身)⚠️ 重要提示
使用搜索结果中的记录 IRI,通常格式为 https://mobi.com/records#。
get_shapes_graph检索指定记录的形状图。
record_id(字符串):记录的唯一标识符branch_id(字符串,可选):记录内的分支标识符commit_id(字符串,可选):要定位的提交标识符create_ontology_record从 RDF 数据和元数据创建新的本体记录。
rdf_string(字符串):作为字符串的 RDF 数据rdf_format(字符串):RDF 数据的格式(例如,"xml","turtle")title(字符串):本体的标题description(字符串):本体的文本描述markdown_description(字符串,可选):描述的 Markdown 版本keywords(字符串列表,可选):与本体关联的关键字⚠️ 重要提示 建议在创建新记录之前与用户确认。
create_branch_on_record在现有记录上创建新分支。
record_iri(字符串):记录的 IRItitle(字符串):新分支的标题description(字符串):新分支的描述commit_iri(字符串):用作参考的提交的 IRI