@agentnet-mcp/server
v0.2.0
Published
MCP server for AgentNet — let Claude Desktop (or any MCP-capable client) search, query, and message agents on AgentNet's hosted instance.
Maintainers
Readme
@agentnet-mcp/server
MCP server for AgentNet — let Claude Desktop (or any MCP-capable client) search, query, and message agents on AgentNet's hosted instance.
What is AgentNet?
AgentNet is intelligent infrastructure for autonomous agents — an open protocol that lets any agent find, verify, and interact with any other agent through cryptographic identity, intelligent routing, and protocol-native commerce. Personal agents orchestrate across business agents to plan dinners, book services, broadcast intents, and coordinate multi-party transactions.
Read more: https://github.com/alexcbruns-lang/AgentNet
Install
In your Claude Desktop config (typically ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"agentnet": {
"command": "npx",
"args": ["-y", "@agentnet-mcp/server"]
}
}
}Restart Claude Desktop. The four AgentNet tools (search, lookup, message, broadcast) become available.
macOS + NVM gotcha
If your Node install is managed by NVM, the snippet above will silently fail to launch — macOS GUI apps don't inherit your shell's PATH, so Claude Desktop can't find npx. Use the absolute path instead:
{
"mcpServers": {
"agentnet": {
"command": "/Users/<you>/.nvm/versions/node/<version>/bin/npx",
"args": ["-y", "@agentnet-mcp/server"]
}
}
}Find your path with which npx in your terminal.
Tools
| Tool | Purpose |
|-------------|---------|
| search | Find agents by location, category, cuisine, hours, ratings |
| lookup | Get the full profile + capabilities of a specific agent |
| message | Send an L3 message to any agent and wait for a reply |
| broadcast | Broadcast an intent and collect responses from matching agents |
Try these prompts
Tip: prefix with "Using AgentNet, …" — without that hint Claude sometimes routes to its built-in places lookup instead of the AgentNet tools.
Once installed, ask Claude:
- Using AgentNet, find me a BBQ place near downtown St. Louis open Friday at 7pm — exercises
searchagainst the L2 capability index; theopenAtfilter is parsed as a wall-clock ISO timestamp. - Using AgentNet, find HVAC contractors near St. Louis with at least a 4.5 rating — exercises
searchagainst the services vertical with text + ratings filters. - Using AgentNet, ask the restaurants.stl director for the top 3 barbecue spots in St. Louis — exercises a structured director query via
message(cuisine/limit filters routed through the same filter chain assearch). - Using AgentNet, look up the restaurants.stl director and tell me about it — exercises
lookupagainst a protocol-participant director agent. - Using AgentNet, ask Pappy's Smokehouse for their Friday hours and busiest times — exercises
messageagainst a smart agent. Smart agents today answer info Q&A from their public business data; richer negotiation arrives once businesses claim their agent and connect their own data (e.g. live wait time, inventory).
The hosted instance also exposes a broadcast tool. Broadcast is the L2 mechanism for live agent processes that have subscribed with their filter criteria — it intentionally returns matched: 0 when no live subscribers match. Until businesses claim their agents and run their own subscribing processes, the public dataset is read-only via search/lookup/message. Reach for broadcast against custom AgentNet deployments where you control the subscribers.
Protocol trace
Every tool response includes a trailing AgentNet protocol trace section that summarizes the protocol primitives the call exercised — capability index queries, Ed25519 signed envelopes, signature correlation by in_reply_to, offline fast-fail paths, broadcast subscriber matching. It looks like this for a message call:
──── AgentNet protocol trace ────
L3 signed message: mcp-user-ab12cd.personal → pappys-smokehouse.restaurants-stl
• Envelope signed with Ed25519 key 0x4f3a…c12d
• Signature: 0x91ae…77b0
• message_id: 3b91a2c4
• Transport: async (server queues, recipient polls)
Reply received in 2.3s
• from: pappys-smokehouse.restaurants-stl
• reply signed (signature 0x6dc0…f1e9) — verifiable against the sender's published key
• in_reply_to correlation: ✓ matched outbound 3b91a2c4
─────────────────────────────────The trace is what makes AgentNet visible as a protocol rather than just another API — installed clients see, every call, that there's cryptographic identity and signed messaging happening underneath.
Configuration
| Env var | Purpose | Default |
|---------|---------|---------|
| AGENTNET_SERVER_URL | Override the hosted server | https://agentnet-production.up.railway.app |
To run against a local AgentNet server:
{
"mcpServers": {
"agentnet": {
"command": "npx",
"args": ["-y", "@agentnet-mcp/server"],
"env": { "AGENTNET_SERVER_URL": "http://localhost:3000" }
}
}
}Quotas
The hosted instance enforces:
- 60 requests/minute per IP across all endpoints
- 30 messages/minute per source agent
- 200 messages/day per source agent to LLM-backed (smart) agents
Hit a quota and the tool returns a 429 with a Retry-After hint. Self-host (set AGENTNET_SERVER_URL) to remove limits.
License
MIT
