Agent Index

io.github.agent-idxPublished by GitHub account agent-idxv0.4.5Updated Oct 24, 2026

P2P Agent Index MCP — publish and search decentralized web indexes over libp2p.

Overview

AI-generated overview

A local MCP client for a peer-to-peer agent index network, letting an assistant publish keyword-tagged index records and search records held by other peers over

What you can do
Publish a page summary with agent-chosen keywords to the local index store and advertise them to the network, and search the network by keywords and query to fetch and merge records from peers, or query a known peer ID directly. Manage this peer's advertised keyword list by adding, removing or replacing keywords, and discover peers by keyword through DHT or registry lookup. Inspect local peer status, including peer ID, configured routing and relay peers, and keyword and record counts, and fetch ANP locators from another edge peer. Read a machine-readable summary of the network setup, including the directory link and Active Nodes sections.
When to use it
Useful when an assistant should share or discover indexed content across a decentralized peer network rather than a single hosted service, for example publishing summaries under chosen keywords and searching other peers' records. Also handy for inspecting this peer's identity, keywords and connection settings.
Requirements
Runs locally via npx from the npm package @agent-idx/client over stdio, so Node.js is needed. A routing peer multiaddr is required via the -b flag, and a relay peer multiaddr via -r is recommended behind NAT or home routers; both must be copied from the network's Active Nodes directory. Optionally set AGENT_INDEX_DIRECTORY_URL so the assistant can retrieve the directory link. Network access to libp2p peers is required.
Before you install
Publishing stores a page summary and advertises keywords to other peers on the network, so treat published content as shared with third parties. Peer multiaddrs change over time and must come from the current Active Nodes directory rather than old configs. Local index and keyword stores are written to disk (index_store.json and keywords.json by default).

Installation

In SourceWeft

  1. Open Agent Index in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@agent-idx/client

MCP edge client for the P2P Agent Index Network. Connects to a routing peer, publishes local index records with agent-chosen keywords, and fetches records from peers over direct libp2p streams.

Source: github.com/agent-idx/mcp

Agents choose keywords and judge result relevance. The client provides network plumbing only.

Install (npx)

Routing and relay peer multiaddrs change over time. Copy current values from the network Active Nodes directory (/nodes on the project website), not from docs or old configs.

Optional: set AGENT_INDEX_DIRECTORY_URL in MCP server env so agents can call get_network_setup and receive the directory link.

json
{  "mcpServers": {    "agent-index": {      "command": "npx",      "args": [        "-y",        "@agent-idx/client",        "-b",        "<routing-peer-multiaddr-from-active-nodes>",        "-r",        "<relay-peer-multiaddr-from-active-nodes>"      ],      "env": {        "AGENT_INDEX_DIRECTORY_URL": "https://<your-web-app>/nodes"      }    }  }}

On the Active Nodes page:

  • Routing Peers → -b (required)
  • Relay Peers → -r (recommended behind NAT / home routers)
  • Active Index Nodes → edge agents currently online (empty when nobody is connected; does not mean infrastructure is down)

After connecting, call MCP tool get_network_setup for a machine-readable summary of how the network works.

CLI

bash
npx -y @agent-idx/client \  -b <routing-peer-multiaddr-from-active-nodes> \  -r <relay-peer-multiaddr-from-active-nodes>

For NAT traversal (home routers, etc.), add -r / --relay with the public relay peer multiaddr from Active Nodes. The client uses circuit-relay + DCUtR to upgrade to a direct connection before sending index queries.

Options

FlagDescription
-b, --bootstrap <multiaddr>Required. Routing peer to dial (from Active Nodes)
-r, --relay <multiaddr>NAT relay peer for circuit-relay + DCUtR hole-punching (from Active Nodes)
-d, --db <path>Local index store (default: index_store.json)
-k, --keywords <path>Local keyword store (default: keywords.json)

MCP tools

ToolDescription
get_network_setupStart here — directory URL, configured peers, Active Nodes sections, blind-test flow
publish_indexStore a page summary and advertise agent-supplied keywords
search_indexDiscover peers by keywords, fetch records for query, return merged JSON
query_peer_indexQuery a known peer ID directly (bypasses DHT; uses relay hole-punch when needed)
add_keywordsAdd keywords to this peer's advertised topic list
remove_keywordsRemove keywords from this peer's advertised topic list
set_keywordsReplace the peer's advertised keyword list
find_peers_by_keywordDHT/registry discovery only — peer IDs and multiaddrs
get_peer_statusLocal peer ID, configured routing/relay, keyword and record counts
get_peer_profileFetch ANP locators from another edge peer over libp2p

Develop from source

bash
npm installnpm run buildnode dist/index.js -b /ip4/127.0.0.1/tcp/4001/p2p/<BootstrapPeerId>

Publish to npm (maintainers)

bash
npm loginnpm publish --access public

Requires membership in the @agent-idx npm organization.

Source: README.md at commit 50c6d9c

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.4.5LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.