402 tools402 .dev
4 frameworks supported

Native integrations

tools402 ships first-party adapters for the four agent frameworks that matter today. Each one auto-fetches the live catalogue at /v1/_meta, so new endpoints are immediately callable — no rebuild, no rerelease.

TypeScript · n8n

n8n custom node

Drag & drop the Tools402 node into any workflow. Pick an endpoint from the live dropdown, paste JSON, run.

npm install @tools402/n8n-nodes
↓ Jump to n8n
Python · LangChain

LangChain toolkit

One make_tools() call returns the full catalogue as StructuredTools, ready for any LangChain agent.

pip install tools402-langchain
↓ Jump to LangChain
Python · CrewAI

CrewAI BaseTools

Wire tools402 into any CrewAI agent — same make_tools() pattern, returns BaseTool instances.

pip install tools402-crewai
↓ Jump to CrewAI
TypeScript · MCP

MCP server

Native Model Context Protocol server. Works with Claude Desktop, Cursor, Continue, and every MCP-aware host.

npm install -g @tools402/mcp
↓ Jump to MCP
One credential, four runtimes. Every integration accepts an EIP-3009 session token generated with tools402 authorize. Bounded amount + expiry, your raw private key never leaves your laptop. The token sits in the framework's credential store and pays automatically.

n8n community node

The Tools402 node lets every n8n workflow call any tools402 endpoint with USDC settlement on Base. The endpoint dropdown is populated live from /v1/_meta, so when a new endpoint ships you see it without updating the package.

Install

# Self-hosted n8n
npm install @tools402/n8n-nodes

# n8n Cloud — Settings → Community Nodes → Install
# Package name: @tools402/n8n-nodes

Configure

Add a Tools402 API credential. Paste your EIP-3009 session token. The Base URL defaults to https://api.tools402.dev.

Use

Drop the Tools402 node into a workflow. The Endpoint dropdown lists all 128 live endpoints with their atomic price. Fill the Body JSON field. Connect inputs upstream as you would for any HTTP node.

{
  "url": "https://example.com/article",
  "format": "markdown"
}

The node output is the JSON response from tools402. Errors surface with the upstream error code (session_token_insufficient, invalid_input, upstream_timeout, …) so you can branch in n8n's error workflow.

LangChain Python toolkit

One call returns the entire catalogue as StructuredTools with proper Pydantic schemas. Plug them straight into any LangChain agent or LCEL chain.

Install

pip install tools402-langchain

Use

from langchain.agents import AgentExecutor, create_react_agent
from langchain_openai import ChatOpenAI
from tools402_langchain import make_tools

tools = make_tools(wallet_private_key="0x...")   # or session token
llm = ChatOpenAI(model="gpt-4o-mini")
agent = create_react_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools)

executor.invoke({"input": "Summarise the latest paper on x402"})

Each tool's name mirrors the endpoint path (/v1/text-summarizetext_summarize), and the description carries the live catalogue's desc field plus the atomic price so the LLM can reason about cost.

CrewAI BaseTools

Mirror image of the LangChain integration — same make_tools() API, but returns CrewAI BaseTool instances so they slot into a Crew without adapters.

Install

pip install tools402-crewai

Use

from crewai import Agent, Task, Crew
from tools402_crewai import make_tools

tools = make_tools(wallet_private_key="0x...")

researcher = Agent(
    role="Web researcher",
    goal="Find primary sources and summarise",
    backstory="An obsessive fact-checker who prefers first-hand documents.",
    tools=tools,
    verbose=True,
)

task = Task(
    description="Find the AP2 launch announcement and summarise the partners list.",
    expected_output="A one-paragraph summary with 3 quoted phrases.",
    agent=researcher,
)

Crew(agents=[researcher], tasks=[task]).kickoff()

The catalogue is fetched on make_tools() creation. To pick a subset, filter the returned list before passing it to your Agent:

tools = [t for t in make_tools(...) if t.name.startswith(("web_", "scrape_", "extract_"))]

MCP Model Context Protocol

The @tools402/mcp server exposes every tools402 endpoint as an MCP tool. Works with Claude Desktop, Cursor, Continue, Zed, and any MCP-aware host.

Install

npm install -g @tools402/mcp

Configure

Add the server to your MCP host. For Claude Desktop, edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "tools402": {
      "command": "npx",
      "args": ["-y", "@tools402/mcp"],
      "env": {
        "TOOLS402_SESSION_TOKEN": "0x..."
      }
    }
  }
}

Restart your host. tools402 endpoints now appear as MCP tools — the host's agent can invoke them like any other tool, and every call is paid via your bounded session token.

Cursor / Continue

Same pattern in .cursor/mcp.json or Continue's config. The server is stateless — one process per host instance.

Common notes

Session tokens

Every integration accepts an EIP-3009 session token as its credential. Generate one locally:

npx @tools402/cli authorize --amount-usdc 5 --expires-days 30

The signature is bounded — at worst, an attacker who steals the token can drain up to the authorised amount before expiry. tools402 never sees your private key.

Live catalogue

None of the SDKs hardcode the endpoint list. They all fetch /v1/_meta at startup, so when a new endpoint ships on tools402 it's immediately callable from every integration — no rebuild, no rerelease, no version bump.

On-chain verifiability

Every call settles in USDC on Base mainnet. The X-Payment-Confirmed: <txHash> response header carries the on-chain proof. Cross-check it on Basescan or via GET /v1/_audit/<txHash>.

License & source

All four packages are MIT-licensed. The tools402 server itself remains source-available but private at this stage.