FIWARE MCP Server

A First FIWARE Model Context Protocol Server

FIWARE MCP Server

This is a first implementation of a FIWARE Model Context Protocol (MCP) Server that provides a bridge between the Context Broker and other services. The server implements basic operations for interacting with a FIWARE Context Broker.

Objectives

  • Create a basic MCP server implementation for FIWARE
  • Provide simple tools for Context Broker interaction
  • Demonstrate basic intent CRUD operations with the Context Broker
  • Serve as a foundation for more complex MCP implementations

Features

  • Context Broker version checking
  • Query capabilities for the Context Broker
  • Entity publishing and updating

Prerequisites

  • Python 3.7 or higher
  • pip (Python package installer)
  • Access to a FIWARE Context Broker instance

Installation

  1. Clone this repository:
git clone <repository-url>
cd FIWARE_MCP_01
  1. Install the required dependencies:
pip install -r requirements.txt

Claude Desktop integration

mcp install server.py

# Custom name
mcp install server.py --name "FIWARE MCP Server"

# Environment variables, if any
mcp install server.py -v API_KEY=abc123 -v DB_URL=postgres://...
mcp install server.py -f .env

Usage

Start the MCP server:

python server.py
# or
mcp run server.py

The server will start on 127.0.0.1:5001 by default.

Available Tools

  1. CB_version

    • Checks the version of the Context Broker
    • Default parameters: address="localhost", port=1026
    • Returns: JSON string with version information
  2. query_CB

    • Queries the Context Broker
    • Parameters:
      • address (default: "localhost")
      • port (default: 1026)
      • query (default: "")
    • Returns: JSON string with query results
  3. publish_to_CB

    • Publishes or updates entities in the Context Broker
    • Parameters:
      • address (default: "localhost")
      • port (default: 1026)
      • entity_data (required: dictionary with entity information)
    • Returns: JSON string with operation status

Example Usage

# Example entity data
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"
}

# Publish to Context Broker
result = publish_to_CB(entity_data=entity_data)

Configuration

The server can be configured by modifying the following parameters in server.py:

  • Host address
  • Port number
  • Timeout settings

Error Handling

The server includes comprehensive error handling for:

  • Network connectivity issues
  • Invalid responses from the Context Broker
  • Malformed entity data
  • Server shutdown

Contributing

Feel free to submit issues and enhancement requests!

License

This project is licensed under the Apache License 2.0.

Share:
Details:
  • Stars


    2
  • Forks


    3
  • Last commit


    15 days ago
  • Repository age


    1 month
  • License


    Apache-2.0
View Repository

Auto-fetched from GitHub .

MCP servers similar to FIWARE MCP Server:

 

 
 
  • Stars


  • Forks


  • Last commit


 

 
 
  • Stars


  • Forks


  • Last commit


 

 
 
  • Stars


  • Forks


  • Last commit