About agenium-mcp-server
agenium-mcp-server bridges MCP servers to the AGENIUM agent:// network. It is for developers who want to make an MCP server discoverable and callable as an AGENIUM agent, or discover and call tools on a bridged remote agent.
Key features
- 01Expose MCP servers on the AGENIUM network
- 02Discover remote agent tools
- 03Call tools through agent://
- 04Access resources and prompts
- 05Read capability manifests and health status
- 06Emit bridge and tool-call events
Use cases
- 01Publish an MCP server as an AGENIUM agent
- 02Inspect tools offered by a remote agent
- 03Call a remote agent’s MCP tools
- 04Monitor bridge registration and tool results
MCP support
Bridges MCP servers to AGENIUM, mapping tools, resources, and prompts to agent:// request methods. Its client can discover and call capabilities on remote bridged agents.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @agenium/mcp-serverAGENIUM_DNS_URLAGENIUM DNS server URL (optional, defaults to public resolver)Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project README@agenium/mcp-server
Bridge MCP (Model Context Protocol) servers to the AGENIUM agent:// network.
Any MCP server → discoverable, callable agent on the AGENIUM network.
Install
npm install @agenium/mcp-server
Quick Start
Expose an MCP server as an AGENIUM agent
import { MCPBridge } from '@agenium/mcp-server';
const bridge = new MCPBridge({
name: 'weather-tools',
mcp: {
transport: 'stdio',
command: 'npx',
args: ['-y', '@modelcontextprotocol/server-weather'],
},
agent: {
publicHost: '203.0.113.1', // Your server's public IP
},
});
await bridge.start();
// ✅ MCP server connected
// ✅ Found 2 tools: get_forecast, get_alerts
// ✅ AGENIUM agent "weather-tools" started
// ✅ Registered on AGENIUM DNS as agent://weather-tools
console.log(bridge.getTools());
// [{ name: 'get_forecast', description: '...', inputSchema: {...} }, ...]
Call tools on a remote MCP-bridged agent
import { MCPAgentClient } from '@agenium/mcp-server';
const client = new MCPAgentClient('my-agent');
await client.start();
// Discover what tools an agent has
const info = await client.discover('agent://weather-tools');
console.log(info.tools);
// Call a tool
const result = await client.callTool('agent://weather-tools', 'get_forecast', {
city: 'Tehran',
days: 3,
});
console.log(result.content);
await client.stop();
Configuration
MCPBridgeConfig
{
// Agent name on the AGENIUM network
name: string;
// MCP server configuration
mcp: {
// stdio: spawn a child process
transport: 'stdio';
command: string;
args?: string[];
cwd?: string;
env?: Record<string, string>;
} | {
// SSE: connect to running server
transport: 'sse';
url: string;
headers?: Record<string, string>;
} | {
// Streamable HTTP (MCP v2)
transport: 'streamable-http';
url: string;
headers?: Record<string, string>;
};
// AGENIUM agent options
agent?: {
port?: number; // Listen port (default: auto)
dnsServer?: string; // DNS server (default: 185.204.169.26)
dnsPort?: number; // DNS port (default: 3000)
autoRegister?: boolean; // Register on DNS (default: true)
publicHost?: string; // Public IP for registration
dataDir?: string; // State directory
};
// Bridge behavior
bridge?: {
toolCallTimeoutMs?: number; // Tool call timeout (default: 30s)
exposeResources?: boolean; // Expose MCP resources (default: true)
exposePrompts?: boolean; // Expose MCP prompts (default: true)
logLevel?: 'debug' | 'info' | 'warn' | 'error' | 'silent';
};
}
Protocol
When an MCP server is bridged, it exposes these agent:// request methods:
| Method | Description | Params |
|---|---|---|
tools/list | List available tools | — |
tools/call | Call a tool | { name, arguments? } |
resources/list | List available resources | — |
resources/read | Read a resource | { uri } |
prompts/list | List available prompts | — |
prompts/get | Get a prompt | { name, arguments? } |
capabilities | Get full capability manifest | — |
ping | Health check | — |
Events
bridge.on('ready', ({ tools, resources, prompts }) => { ... });
bridge.on('registered', ({ name, endpoint }) => { ... });
bridge.on('tool:call', ({ tool, sessionId }) => { ... });
bridge.on('tool:result', ({ tool, sessionId, durationMs }) => { ... });
bridge.on('tool:error', ({ tool, sessionId, error }) => { ... });
bridge.on('error', (err) => { ... });
bridge.on('stopped', () => { ... });
How It Works
┌─────────────┐ agent:// ┌──────────────┐ JSON-RPC ┌────────────┐
│ Agent Client │ ──────────────▶ │ MCP Bridge │ ──────────────▶ │ MCP Server │
│ │ │ (@agenium/ │ │ (any tool) │
│ Any AGENIUM │ ◀────────────── │ mcp-server) │ ◀────────────── │ │
│ agent │ response │ │ tool result │ │
└─────────────┘ └──────────────┘ └────────────┘
│
│ registers
▼
┌──────────────┐
│ AGENIUM DNS │
│ 185.204.169.26│
└──────────────┘
Python SDK
A Python version (agenium-mcp-server) is planned. For now, use the npm package.
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.