1NCE API MCP Server

by 1NCE-GmbH

1 stars
229 downloads
Not rated
GitHub

About

MCP Server for integration of LLMs with the 1NCE Management API

Details

Author
1NCE-GmbH
GitHub stars
1
Downloads
229
Categories
Developer Tools

- OAuth 2.0 token-based authentication with the 1NCE API
- Query available IoT connectivity products
- Create and track orders
- Monitor and configure SIM cards
- Direct resource access to SIM status and product data
- Pre-defined interaction templates for common tasks

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name 1NCE API MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install dependencies with pip install fastmcp httpx, set the environment variables ONCE_CLIENT_ID and ONCE_CLIENT_SECRET with your 1NCE API credentials, then install via the FastMCP CLI (fastmcp install 1nce_mcp.py) or run directly (python 1nce_mcp.py). The server can be used programmatically with a FastMCP client.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "1nce api mcp server": {
            "1nce-mcp-server": {
                "command": "python",
                "args": [
                    "1nce_mcp.py"
                ]
            }
        }
    }
}

McpServers

{
    "1nce-mcp-server": {
        "command": "python",
        "args": [
            "1nce_mcp.py"
        ]
    }
}

1NCE IoT Platform MCP Server

A Model Context Protocol (MCP) server that enables AI agents to interact with the 1NCE IoT connectivity management platform through natural language.

Overview

This project provides a middleware layer that connects Large Language Models (LLMs) to the 1NCE API for managing IoT connectivity. It allows AI assistants to:

- Retrieve product information
- Manage orders
- Monitor SIM card status
- Check data and SMS quotas
- Update SIM configurations
- View connectivity information

By exposing these capabilities through the Model Context Protocol, AI agents can interact with IoT infrastructure using natural language, simplifying the management of connected devices.

Features

- Authentication: Secure OAuth 2.0 token-based authentication with 1NCE API
- Product Management: Query available IoT connectivity products
- Order Management: Create and track orders
- SIM Management: Monitor and configure SIM cards
- Resources: Direct access to SIM status and product data
- Prompts: Pre-defined interaction templates for common tasks

Prerequisites

- Python 3.8+
- FastMCP v2
- 1NCE account with API credentials

Installation

1. Clone this repository

git clone https://github.com/yourusername/1nce-mcp-server.git
cd 1nce-mcp-server

2. Install required dependencies

pip install fastmcp httpx

3. Set environment variables with your 1NCE API credentials

export ONCE_CLIENT_ID="your_client_id"
export ONCE_CLIENT_SECRET="your_client_secret"

Usage

Installing with FastMCP

The recommended way to use this MCP server is to install it using the FastMCP CLI:

fastmcp install 1nce_mcp.py

This will make the server available to compatible MCP clients, including Claude Desktop.

Running Directly

For development or testing, you can run the server directly:

python 1nce_mcp.py

Using with a Client

You can interact with the server programmatically using the FastMCP client:

from fastmcp import Client

async with Client("1nce_mcp.py") as client:
# Get list of products
products = await client.call_tool("get_all_products")
print(products)

# Check SIM status
sim_status = await client.call_tool("get_sim_status", {"iccid": "your_sim_iccid"})
print(sim_status)

Available Tools

Product Tools

- get_all_products() - Retrieve all available 1NCE products

Order Tools

- get_all_orders(page, page_size, sort) - Get list of orders with pagination - get_order_by_number(order_number) - Get details of a specific order - create_order(products, delivery_address, customer_reference) - Create a new order

SIM Tools

- get_all_sims(page, page_size, query, sort) - List SIM cards with filtering options - get_sim_details(iccid) - Get detailed information about a specific SIM - get_sim_status(iccid) - Check the connectivity status of a SIM - get_sim_data_quota(iccid) - Check remaining data quota for a SIM - get_sim_sms_quota(iccid) - Check remaining SMS quota for a SIM - update_sim_status(iccid, status, label, imei_lock) - Update SIM configuration - get_sim_usage(iccid, start_date, end_date) - Get usage statistics for a time period - get_sim_events(iccid, page, page_size, sort) - Get event history for a SIM - reset_sim_connectivity(iccid) - Trigger a connectivity reset for a SIM

Examples

Checking SIM Status

from fastmcp import Client

async with Client("1nce_mcp.py") as client:
# Check SIM status
sim_status = await client.call_tool("get_sim_status", {
"iccid": "8988303000123456789"
})
print(f"SIM Status: {sim_status.get('status')}")

# Check data quota
quota = await client.call_tool("get_sim_data_quota", {
"iccid": "8988303000123456789"
})
print(f"Remaining data: {quota.get('volume')} MB")
print(f"Expires on: {quota.get('expiry_date')}")

Creating an Order

from fastmcp import Client

async with Client("1nce_mcp.py") as client:
# Create an order for 5 SIM cards
order = await client.call_tool("create_order", {
"products": [{"productId": 1001, "quantity": 5}],
"customer_reference": "IoT-Project-XYZ"
})
print(f"Order created with number: {order.get('order_number')}")

Security

- The MCP server requires 1NCE API credentials to be set as environment variables
- Authentication is performed using OAuth 2.0 with Basic Authentication
- Access tokens are obtained dynamically and not stored persistently
- The server only exposes necessary API operations, prioritizing read operations over write operations

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

- 1NCE for providing the IoT connectivity API
- FastMCP for the MCP server framework
- Anthropic for Claude AI assistant capabilities

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.