npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

a2amcp

v0.1.11

Published

MCP gateway for a2acloud agents. Run as a local MCP server; expose any number of deployed A2A agents to Claude Code, Cursor, and other MCP clients.

Downloads

1,042

Readme

a2amcp

MCP gateway for a2acloud agents. It runs locally as a stdio MCP server and exposes deployed A2A agents as tools to Claude Code, Cursor, and other MCP clients.

This package is the local stdio gateway. It is different from the hosted OAuth MCP connector endpoints used by ChatGPT/Claude web connectors:

Local stdio gateway:        npx -y a2amcp
Remote standard MCP:        https://<agent>.a2acloud.io/mcp
Remote connector MCP:       https://<agent>.a2acloud.io/connector-mcp
Remote orchestrator MCP:    https://api.a2acloud.io/connector-mcp

Use a2amcp for editor clients that launch a local MCP server process. Use the remote /connector-mcp URL for hosted connector UIs that need OAuth login, Dynamic Client Registration, async job polling, and structured approval/input interrupts.

Quickstart

npx -y a2amcp login
npx -y a2amcp search "security evidence"
npx -y a2amcp add <agent-name>
npx -y a2amcp doctor

Add it to your MCP client config:

{
  "mcpServers": {
    "a2a": {
      "command": "npx",
      "args": ["-y", "a2amcp"]
    }
  }
}

Restart the client after adding or removing agents.

Commands

a2amcp login              # sign in through Keycloak and save OAuth tokens
a2amcp whoami             # show current account
a2amcp agents             # list agents visible to your account
a2amcp search [query]     # search visible agents by text, tag, or skill
a2amcp add <name>         # expose one agent through this gateway
a2amcp list               # list locally enabled agents
a2amcp remove <name>      # stop exposing an agent
a2amcp doctor             # probe enabled agents and count tools
a2amcp logout             # clear local credentials

Running a2amcp with no command starts the MCP gateway over stdio.

The gateway also exposes local management tools to MCP clients:

a2a_search_agents          # search visible agents from inside the MCP client
a2a_add_agent              # enable one matching agent dynamically
a2a_list_enabled_agents    # show agents currently exposed by this gateway

After a2a_add_agent, clients that support tool-list change notifications can refresh tools immediately. Other clients may need a manual tool refresh or restart.

a2amcp login uses Keycloak Authorization Code + PKCE. It starts a local loopback callback server, opens the browser, exchanges the code for a Keycloak access token, and stores the token in ~/.a2a/credentials.json. For headless machines, pass an existing Keycloak access token:

a2amcp login --token "$KEYCLOAK_ACCESS_TOKEN"

Hosted OAuth Connectors

ChatGPT and Claude-style hosted connectors should not run this stdio gateway. Configure them directly with the remote connector URL:

https://api.a2acloud.io/connector-mcp
https://<agent>.a2acloud.io/connector-mcp

Choose OAuth authentication. The server advertises protected-resource metadata, the client dynamically registers with Keycloak, and the browser consent flow issues tokens scoped to MCP access. Long-running connector calls return a job_id; the client should poll chat_result on the orchestrator connector or job_result on a leaf-agent connector.