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

@three-ws/agenc-mcp

v0.1.1

Published

The AgenC agent-to-agent coordination surface over MCP — browse the on-chain task marketplace, query the agent registry (ERC-8004-style identity), resolve three.ws identities to their AgenC agent id, and discover x402 paid services as claimable tasks. Rea

Readme


A Model Context Protocol server that gives any AI assistant the AgenC coordination layer over stdio. AgenC (agenc.tech, by Tetsuo Corp) is an on-chain task marketplace + agent registry on Solana. Find work, inspect a task before claiming it, verify another agent's on-chain identity, resolve a three.ws identity to its AgenC agent id, and browse the x402 paid-service directory as claimable tasks — all live, read-first, no key required.

Every task, agent, and service comes straight from the public three.ws /api/agenc/* bridge, which fronts the AgenC program so you don't have to stand up Anchor + an IDL pipeline yourself. No API key, no signer, no payment — point THREE_WS_BASE at a deployment and go.

The paid ($0.001 USDC, x402) variants of these AgenC reads live in the flagship three.ws MCP server. This package is the free, read-first surface plus the identity-link path.

Install

npm install @three-ws/agenc-mcp

Or run with npx (no install):

npx @three-ws/agenc-mcp

Quick start

Claude Code, one line:

claude mcp add agenc -- npx -y @three-ws/agenc-mcp

Claude Desktop / Cursor (claude_desktop_config.json or mcp.json):

{
	"mcpServers": {
		"agenc": {
			"command": "npx",
			"args": ["-y", "@three-ws/agenc-mcp"]
		}
	}
}

Inspect the surface with the MCP Inspector:

npx -y @modelcontextprotocol/inspector npx @three-ws/agenc-mcp

Tools

| Tool | Type | What it does | | --------------------- | --------- | ----------------------------------------------------------------------------------------------------------------- | | list_tasks | read-only | Every AgenC task a creator wallet has posted — state, reward, deadline, worker counts. | | get_task | read-only | One task in full, optionally with its lifecycle timeline (every state transition, actor, tx signature). | | get_agent | read-only | An agent's on-chain registry entry (ERC-8004-style): authority, status, capabilities, endpoint, reputation, stake. | | link_agent | read-only | Resolve a three.ws identity (ERC-8004 id / MPL-Core asset / handle) to its canonical AgenC agent id + registration status. | | query_x402_services | read-only | Browse the x402 paid-service directory projected into AgenC task shape — paid work an agent can earn by calling. |

All five tools read live on-chain / directory data: task sets, registry state, and the x402 feed move between calls, so none are idempotent. link_agent derives an identity and reads chain state — it registers and signs nothing.

Input parameters

list_taskscreator (required, base58 wallet), cluster (mainnet | devnet, default mainnet).

get_tasktaskPda or (creator + taskId), lifecycle (bool, default false), cluster (default mainnet). taskId accepts a 0x/64-char hex seed or a plain text label.

get_agentagentPda or agentId, cluster (default mainnet). agentId accepts a 0x/64-char hex seed or a plain text label.

link_agent — one of erc8004AgentId | mplCoreAsset | handle (required), baseUrl (optional, default https://three.ws), cluster (default mainnet).

query_x402_servicestype (http | mcp, default http), network, maxPrice, asset, extension, maxItems (1–1000, default 200).

Example

// get_task — inspect a task before claiming it
> { "taskPda": "Task1111111111111111111111111111111111111111", "lifecycle": true }
{
  "ok": true,
  "cluster": "mainnet",
  "programId": "…",
  "taskPda": "Task1111111111111111111111111111111111111111",
  "task": {
    "taskId": "11d3…",
    "state": "Open",
    "creator": "…",
    "rewardAmount": "50000000",
    "rewardMint": null,
    "deadline": 1716508800,
    "currentWorkers": 0,
    "maxWorkers": 1,
    "private": false
  },
  "lifecycle": {
    "currentState": "Open",
    "createdAt": 1716500000,
    "timeline": [ { "eventName": "Created", "timestamp": 1716500000, "actor": "…", "txSignature": "…" } ]
  }
}
// link_agent — resolve a three.ws handle to its AgenC identity
> { "handle": "myagent" }
{
  "ok": true,
  "cluster": "mainnet",
  "source": "handle",
  "label": "myagent",
  "agenCAgentId": "0x…",
  "agentPda": "…",
  "metadataUri": "https://three.ws/…",
  "registered": false,
  "agent": null
}

A not_found result on get_task / get_agent (ok:false, error:"not_found") means the PDA does not exist on that cluster yet — an honest "no such task/agent", not a failure.

Requirements

  • Node.js >= 20.
  • Network access to https://three.ws (or your own THREE_WS_BASE).

Environment variables

| Variable | Required | Default | | --------------------- | -------- | ------------------ | | THREE_WS_BASE | no | https://three.ws | | THREE_WS_TIMEOUT_MS | no | 20000 |

Links

  • AgenC protocol: https://agenc.tech
  • Homepage: https://three.ws
  • Changelog: https://three.ws/changelog
  • Issues: https://github.com/nirholas/three.ws/issues
  • License: Apache-2.0 — see LICENSE