Your MCP Server Has No Name: Why Agent Identity Matters
You've built a great MCP server. It handles tool calls, serves resources, maybe even manages prompts. But here's the problem: no one can find it.
MCP solves the interface problem — a standard way for AI models to interact with tools. But it doesn't solve the discovery problem. How does Agent A find Agent B? How do you call an MCP server running on someone else's infrastructure?
Today, the answer is: you can't. You need to know the exact URL, share configs manually, and hope nothing changes. This is what the web looked like before DNS.
The Missing Layer
Think about how the web works:
google.com → 142.250.80.46
DNS turns human-readable names into machine-readable addresses. It's boring infrastructure that makes everything work.
Now imagine the same thing for AI agents:
agent://weather.tools → https://203.0.113.5:8443
That's what AGENIUM does. It's a naming and discovery layer for AI agents — including MCP servers.
From Anonymous Server to Named Agent
Let's say you have a weather MCP server. Today, to use it, someone needs your exact configuration:
{
"mcpServers": {
"weather": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-weather"]
}
}
}
With AGENIUM, your server gets a name:
npm install @agenium/mcp-server
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',
},
});
await bridge.start();
// Your MCP server is now agent://weather.tools
Now any agent on the network can find it by name. No config files to share. No URLs to remember.
How Resolution Works
When an agent wants to call agent://weather.tools, three things happen:
- DNS Lookup — The name resolves to an endpoint (IP + port + certificate)
- mTLS Handshake — Both sides verify identity with certificates (zero-config)
- Message Exchange — Standard JSON-RPC over the secure channel
import { AgeniumClient } from 'agenium';
const client = new AgeniumClient();
const agent = await client.resolve('weather.tools');
console.log(agent.endpoint); // https://203.0.113.5:8443
console.log(agent.cert); // mTLS certificate for verification
The Python SDK works the same way:
from agenium import AgeniumClient
client = AgeniumClient()
agent = await client.resolve("weather.tools")
Why This Matters for MCP
MCP is growing fast. There are hundreds of servers now. But they're all isolated — each one lives in a config file on someone's machine.
What if MCP servers could:
- Find each other by name, not URL
- Verify identity before exchanging data
- Chain capabilities — a translation agent calling a search agent calling a summarization agent
- Be discoverable — like npm packages, but for live services
That's the agent network that AGENIUM enables. Think of it as DNS + PKI for the MCP ecosystem.
Not a Replacement
AGENIUM doesn't replace MCP. It complements it. MCP defines how agents talk. AGENIUM defines how they find each other and how they prove who they are.
| Layer | MCP | AGENIUM |
|---|---|---|
| Interface | ✅ Tools, resources, prompts | — |
| Transport | ✅ stdio, HTTP, SSE | — |
| Identity | ❌ | ✅ agent://name.tld
|
| Discovery | ❌ | ✅ DNS-style resolution |
| Trust | ❌ | ✅ mTLS certificates |
| Network | ❌ | ✅ Agent-to-agent routing |
Try It Now
The whole stack is open source and free to use:
# Node.js
npm install agenium @agenium/mcp-server
# Python
pip install agenium
# Scaffold a new agent in 30 seconds
npx @agenium/create-agent my-agent
Live demo: demo.agenium.net — 4 agents running, try resolving and calling them.
Docs: docs.agenium.net
GitHub: github.com/Aganium/agenium
🔍 Try our MCP server search → agenium.net/search — Find any MCP server in seconds.
AGENIUM is MIT licensed. Built by the team that thinks agents deserve addresses, not just APIs.
Top comments (1)
The discovery problem is real and underappreciated. You're right that MCP solves the interface but not the addressing layer.
Something adjacent we've been working on in MCP Fusion (github.com/vinkius-labs/mcp-fusion) is the Capability Lockfile — a deterministic, git-diffable snapshot of every tool's behavioral contract, schema digest, and entitlements. It doesn't solve discovery per se, but it makes the identity question at least answerable at the code level: you can cryptographically attest what a given server exposes and verify it hasn't drifted.
The DNS analogy is apt. Right now teams share configs manually (
.cursor/mcp.json, etc.) — which is essentially/etc/hostsera networking. A proper identity + discovery layer is the logical next step.We also just launched Vercel and Cloudflare Workers adapters for MCP Fusion (
@vinkius-core/mcp-fusion-vercel/@vinkius-core/mcp-fusion-cloudflare), which at least makes well-known URLs easier — deploy once, get a stable endpoint. But you're pointing at a deeper problem that the ecosystem still needs to solve.Will check out Agenium — looks like a genuinely missing piece.