这是一个 FIWARE 模型上下文协议(MCP)服务器的首次实现,它提供了一个连接上下文代理和其他服务之间的桥梁。该服务器实现了与 FIWARE 上下文代理交互的基本操作。
git clone <repository-url>
cd FIWARE_MCP_01
pip install -r requirements.txt
Claude Desktop 应通过 STDIO 启动服务器。不要使用“mcp install”或“mcp run”来启动此服务器。
示例配置(根据您的环境调整路径):
{
"mcpServers": {
"CB-assistant": {
"command": "uv",
"args": [
"run",
"--with",
"requests>=2.31.0",
"--with",
"fastmcp>=0.3.0",
"python",
"PATH\\TO\\FIWARE-MCP-Server\\server.py"
]
}
}
}
如果依赖项是通过 pip 安装的,可以使用以下替代配置:
{
"mcpServers": {
"CB-assistant": {
"command": "python",
"args": [
"PATH\\TO\\FIWARE-MCP-Server\\server.py"
]
}
}
}
默认情况下,运行脚本会以 STDIO 模式启动服务器。使用 --http 来启动 HTTP 服务器。
python server.py
python server.py --http
python server.py --http --host 127.0.0.1 --port 5001
当使用 --http 运行时,服务器绑定到提供的主机/端口,并使用无状态 HTTP 会话以兼容流式 HTTP 客户端。
为了通过外部 API(例如 OpenAI 响应 API)使用大语言模型,您可能需要将本地 MCP 服务器暴露到互联网。在 HTTP 模式下运行时,使用 ngrok 创建到服务器的公共 HTTPS 隧道。
注意:确保您的认证令牌安全。只要 ngrok 正在运行,公共 URL 就会保持活动状态,并且当您停止隧道时将无法再访问。
CB_version
query_CB
publish_to_CB
# 示例实体数据
entity_data = {
"id": "urn:ngsi-ld:TemperatureSensor:001",
"type": "TemperatureSensor",
"temperature": {
"type": "Property",
"value": 25.5
},
"@context": "https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context.jsonld"
}
# 发布到上下文代理
result = publish_to_CB(entity_data=entity_data)
通过修改 server.py 中的以下参数来配置服务器:
服务器包括全面的错误处理机制,用于:
欢迎提交问题和增强请求!
本项目根据 Apache 许可证 2.0 授权。