About Neuronum Tools
Neuronum Tools are MCP-compliant (Model Context Protocol ) plugins that can be installed on the Neuronum Server and extend your Agent's functionality, enabling it to interact with external data sources and your system.
Tools Note: Tools are not stored encrypted on neuronum.net. Do not include credentials, API keys, secure tokens, passwords, or any sensitive data directly in your tool code. Use environment variables or the variables configuration field (when available) to handle sensitive information securely.
Requirements
- Python >= 3.8
Connect To Neuronum
Installation
Create and activate a virtual environment:
python3 -m venv ~/neuronum-venv
source ~/neuronum-venv/bin/activate
Install the Neuronum SDK:
pip install neuronum==2026.01.0.dev1
Note: Always activate this virtual environment (source ~/neuronum-venv/bin/activate) before running any neuronum commands.
Create a Neuronum Cell (secure Identity)
neuronum create-cell
Connect your Cell
neuronum connect-cell
Initialize a Tool
neuronum init-tool
You will be prompted to enter a tool name and description (e.g., "Test Tool" and "A simple test tool"). This will create a new folder named using the format: Tool Name_ToolID (e.g., Test Tool_019ac60e-cccc-7af5-b087-f6fcf1ba1299)
This folder will contain 2 files:
- tool.config - Configuration and metadata for your tool
- tool.py - Your Tool/MCP server implementation
Example tool.config:
{
"tool_meta": {
"tool_id": "019ac60e-cccc-7af5-b087-f6fcf1ba1299",
"version": "1.0.0",
"name": "Test Tool",
"description": "A simple test tool",
"audience": "private",
"logo": "https://neuronum.net/static/logo_new.png"
},
"legals": {
"terms": "https://url_to_your/terms",
"privacy_policy": "https://url_to_your/privacy_policy"
},
"requirements": [],
"variables": []
}
Example tool.py:
from mcp.server.fastmcp import FastMCP
# Create server instance
mcp = FastMCP("simple-example")
@mcp.tool()
def echo(message: str) -> str:
"""Echo back a message"""
return f"Echo: {message}"
if __name__ == "__main__":
mcp.run()
Tool Configuration Fields
audience
Controls who can install and use your tool
- "private" - Only you can use this tool
- "public" - Anyone on the Neuronum network can install this tool
- "id::cell" - Share with specific cells (comma-separated list)
"audience": "private"
"audience": "acme::cell, community::cell, business::cell"
requirements
List of Python packages your tool needs. Automatically installed by the Neuronum Server when the tool is added. Use the same format as pip requirements.
"requirements": [
"requests",
"pandas>=2.0.0",
"openai==1.12.0"
]
variables
List of variable names that users need to provide when installing your tool. Values are sent encrypted to the server and automatically injected into your tool.py code.
"variables": [
"API_TOKEN",
"DB_PASSWORD",
"SERVICE_URL"
]
How to use variables in your tool.py:
❌ Wrong - Don't hardcode sensitive values:
from mcp.server.fastmcp import FastMCP
import requests
mcp = FastMCP("api-tool")
# DON'T DO THIS - Never hardcode credentials!
API_TOKEN = "sk-1234567890abcdef" # This will be exposed!
@mcp.tool()
def call_api(endpoint: str) -> str:
"""Call external API"""
response = requests.get(f"https://api.example.com/{endpoint}",
headers={"Authorization": f"Bearer {API_TOKEN}"})
return response.text
✅ Correct - Use variables (server auto-injects values):
First, declare the variable in your tool.config:
{
...
"requirements": ["requests"],
"variables": ["API_TOKEN"]
}
Then use it in your tool.py without defining it:
from mcp.server.fastmcp import FastMCP
import requests
mcp = FastMCP("api-tool")
# The server automatically sets API_TOKEN based on user input
# You just use it directly - no need to define it!
@mcp.tool()
def call_api(endpoint: str) -> str:
"""Call external API"""
response = requests.get(f"https://api.example.com/{endpoint}",
headers={"Authorization": f"Bearer {API_TOKEN}"})
return response.text
Note: This feature is only available when using the official Neuronum client.
Update a Tool
After modifying your tool.config or tool.py files, submit the updates using:
neuronum update-tool
Delete a Tool
neuronum delete-tool
Need Help? For more information, visit the GitHub repository or contact us.