mcpField
A
Aganium

Aganium

Local
github.com/AganiumAI & Agents5Updated 36w ago

About Aganium

Aganium is an npm package that bridges MCP servers to the AGENIUM agent:// network. It supports exposing an MCP server as a discoverable agent and calling tools on remote bridged agents, with access to tools, resources, prompts, and capabilities.

Key features

  1. 01Bridge MCP servers to AGENIUM
  2. 02Discover remote agent tools
  3. 03Call tools on bridged agents
  4. 04Expose resources and prompts
  5. 05Emit lifecycle and tool-call events

Use cases

  1. 01Make an existing MCP server discoverable on AGENIUM
  2. 02Discover and invoke tools on a remote AGENIUM agent

MCP support

Aganium connects to an MCP server and exposes its tools, resources, prompts, and capabilities through AGENIUM's agent:// methods. Its client can discover and call tools on remote MCP-bridged agents.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"aganium": {
"command": "npx",
"args": [
"-y",
"@agenium/mcp-server"
]
}
}
}
Run commandnpx -y @agenium/mcp-server

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@agenium/mcp-server0.1.5

Tools

No tool list yet

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:

MethodDescriptionParams
tools/listList available tools—
tools/callCall a tool{ name, arguments? }
resources/listList available resources—
resources/readRead a resource{ uri }
prompts/listList available prompts—
prompts/getGet a prompt{ name, arguments? }
capabilitiesGet full capability manifest—
pingHealth 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

Markdown supported

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.