fiware-orion-mcp
MCP (Model Context Protocol) server for FIWARE Orion Context Broker. Enables LLMs like Claude to manage NGSI-v2 context entities — IoT devices, cameras, sensors, vehicles, and any real-world object modeled as a digital twin.
No official FIWARE MCP exists yet. This is the first one.
What is FIWARE Orion?
FIWARE is an open standard (ETSI NGSI-LD) for Smart City and IoT data management. The Orion Context Broker is its core component — it stores the current state of all entities and notifies subscribers when things change.
Tools available
| Tool | Description |
|---|---|
orion_get_version |
Verify Orion connectivity and version |
orion_list_types |
List all entity types and their attributes |
orion_query_entities |
Query entities by type, pattern, filter, geo |
orion_get_entity |
Get full details of a specific entity |
orion_create_entity |
Create a new NGSI entity |
orion_update_attributes |
Update entity attributes |
orion_delete_entity |
Delete an entity |
orion_create_subscription |
Subscribe to attribute change notifications |
orion_list_subscriptions |
List active subscriptions |
quantumleap_get_history |
Get time-series history for an entity |
quantumleap_get_type_history |
Get aggregated history across entity type |
Quick start
1. Start FIWARE stack (Docker)
cd docker
docker compose up -d
# Verify:
curl http://localhost:1026/version
curl http://localhost:8668/version
2. Install MCP server
pip install fiware-orion-mcp
# or from source:
pip install -e .
3. Configure Claude Code
Add to your ~/.claude/mcp.json or project MCP config:
{
"mcpServers": {
"fiware-orion": {
"command": "python",
"args": ["-m", "fiware_mcp.server"],
"env": {
"ORION_URL": "http://your-orion-host:1026",
"QUANTUMLEAP_URL": "http://your-ql-host:8668"
}
}
}
}
4. Environment variables
| Variable | Default | Description |
|---|---|---|
ORION_URL |
http://localhost:1026 |
Orion Context Broker URL |
QUANTUMLEAP_URL |
http://localhost:8668 |
QuantumLeap URL |
FIWARE_SERVICE |
(empty) | Multi-tenancy service name |
FIWARE_SERVICE_PATH |
/ |
Multi-tenancy service path |
Example session with Claude
> List all entity types in the Context Broker
> Show me all Camera entities that are offline
> Get the full details of Camera:TIMONE-01
> Update Camera:TIMONE-01 status to "maintenance"
> Show me the uptime history of Camera:TIMONE-01 for the last 7 days
Roadmap
- NGSI-LD support (Orion-LD)
- Batch operations
- Geo-query helpers (find entities near a point)
- Export entities as GeoJSON
License
MIT — contributions welcome.
Metadata
Release files for fiware-orion-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| fiware_orion_mcp-0.1.0.tar.gz | 6.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fiware_orion_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.1 kB
Release files / fiware_orion_mcp-0.1.0.tar.gz
| Download URL | fiware_orion_mcp-0.1.0.tar.gz |
|---|---|
| Size | 6.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e9bc23d460dbfdf0bdeee8debe41bab2cafa082908ef7b9ad2afa361eeea6d0f
|
|
BLAKE2b-256 checksum How to use checksums |
2ad7ee672039850dd4662d7ebbd68979d64cab9b156ba30ab64a7dbaa9ff5ef3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / fiware_orion_mcp-0.1.0-py3-none-any.whl
| Download URL | fiware_orion_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5ae3f6698e5f69241dd7710d369000b00891a3716c61aa5226b930fc2bd079a2
|
|
BLAKE2b-256 checksum How to use checksums |
13f1542d25553c0d4dc25ff8a2a71c9b4a4a9a352771ff89a647435e3560132a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for fiware-orion-mcp 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.