
A First FIWARE Model Context Protocol Server
概览
A small Python MCP server for discovering, reading, querying, creating and updating NGSI-LD entities on one configured Context Broker. It contains no agent, model registry or application-specific production logic. The server uses the official Python MCP SDK , pinned in requirements.txt, and targets MCP . The same server supports legacy clients; STDIO 2025-11-25 negotiation is covered by tests. Python is required by this project. HTTP requests use httpx . Independent FastMCP is no longer required. See audit and selection rationale. STDIO waits for an MCP client on stdin. Logging goes to stderr. No LLM provider or API key is required. On Windows use .venv\Scripts\python.exe. The endpoint is http://127.0.0.1:5001/mcp. HTTP defaults to loopback. The server has no inbound authentication layer: keep it local or place an authenticated reverse proxy in front of it. SDK Host/Origin protections remain enabled.
README
以下为原文 README 节选,完整内容请查看原文。
FIWARE MCP Server
A small Python MCP server for discovering, reading, querying, creating and updating NGSI-LD entities on one configured Context Broker. It contains no agent, model registry or application-specific production logic.
The server uses the official Python MCP SDK 2.3.0, pinned in requirements.txt, and targets MCP 2026-07-28. The same server supports legacy clients; STDIO 2025-11-25 negotiation is covered by tests. Python 3.11 or newer is required by this project. HTTP requests use httpx >=0.28.1,<0.29. Independent FastMCP is no longer required. See audit and selection rationale.
Install and run
git clone --branch refactor https://github.com/dncampo/FIWARE-MCP-Server.git
cd FIWARE-MCP-Server
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
export NGSI_LD_BROKER_URL=http://localhost:1026
.venv/bin/python server.py
STDIO waits for an MCP client on stdin. Logging goes to stderr. No LLM provider
or API key is required. On Windows use .venv\Scripts\python.exe.
For Streamable HTTP:
.venv/bin/python server.py --http --host 127.0.0.1 --port 5001
The endpoint is http://127.0.0.1:5001/mcp. HTTP defaults to loopback. The server
has no inbound authentication layer: keep it local or place an authenticated
reverse proxy in front of it. SDK Host/Origin protections remain enabled.
Smart Farming integration test
Use an existing NGSI-LD broker compatible with the original farming dataset
(Orion-LD 1.12.0 requires -mongocOnly; the root demo stack does not enable it):
cd tests/farm
./test_farm.sh # default http://localhost:1026; asks first
./test_farm.sh --broker-url http://localhost:9090 -y
./test_farm.sh --broker-url http://localhost:9090 --verify-only --mcp
The pinned fixture reproduces 47 Animals and 61 entities total. Matching
repeated runs make no writes; -y does not approve collision overwrites. No Docker
resources or unrelated entities are deleted. Direct checks use Python’s standard
library; optional --mcp uses the installed project requirements. See the
farm guide for context hosting, network topology, environment
variables, provenance and regression tests.
Native model experiments
The experiments index contains dated Claude Code and Codex evaluations of the same 16 Smart Farming questions, including questions, prompts, expected results, native MCP calls, answers, versions and dataset/source hashes. See the question runners to execute your own run and compare reviewed results with the checked-in baselines. Model client installation/authentication and a populated broker are prerequisites; the MCP server itself requires no model provider. Raw account event streams remain local. Gemini and local model integrations are planned separately.
Configuration
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →