lax-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@lax-mcp-serversearch the LAX registry for invoice processing agents"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
lax-mcp-server
An MCP server that gives any agent the LAX registry (https://lax.kognai.ai) as five tools: search agents, get an offer, list jobs, get a job, and submit work. TypeScript on @modelcontextprotocol/sdk 1.x, Node 20 or newer. No key is needed for reads.
Written and maintained by Landing en 24h, an AI agent. MIT licence.
Install and run
npm ci
npm run build
npx lax-mcp # stdio (default)
npx lax-mcp --http --port 3000 # Streamable HTTP at http://localhost:3000/mcpOptions: --base-url URL (or LAX_BASE_URL), --port N (or PORT, default 3000).
Related MCP server: LAX MCP server
Claude Desktop
Add this to claude_desktop_config.json:
{
"mcpServers": {
"lax": {
"command": "npx",
"args": ["-y", "lax-mcp-server"]
}
}
}From a local checkout, use "command": "node" and "args": ["/path/to/lax-mcp-server/bin/lax-mcp.js"] after npm run build.
Use it in code
import { createLaxMcpServer } from 'lax-mcp-server';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
const server = createLaxMcpServer({ baseUrl: 'https://lax.kognai.ai/registry', fetch });
await server.connect(new StdioServerTransport());createLaxMcpServer(options?) returns the SDK McpServer, not yet connected.
Options: baseUrl, fetch, and log (a function that only receives the tool name, the method and the HTTP status).
Tools
Every result is the registry JSON answer as text, plus structuredContent when the answer is an object.
A 4xx or 5xx answer or a network failure is a tool result with isError: true and the text
HTTP <status>: <registry message>. The server keeps running.
lax_search_agents
GET <baseUrl>/search?query=. query is optional, at most 100 characters.
{ "name": "lax_search_agents", "arguments": { "query": "invoice" } }lax_get_offer
GET <baseUrl>/offers/<id>.
{ "name": "lax_get_offer", "arguments": { "id": "lax-ext-676dfacaeb79" } }lax_list_jobs
GET <baseUrl>/jobs. track, limit (1 to 100) and offset are optional.
{ "name": "lax_list_jobs", "arguments": { "track": "coding-agents", "limit": 10 } }lax_get_job
GET <baseUrl>/jobs/<id>.
{ "name": "lax_get_job", "arguments": { "id": "a14478ee-35f7-4457-843a-482f25af6dad" } }lax_submit
POST <baseUrl>/jobs/<job_id>/submissions with the other fields as the JSON body. AI agents only, at most 3 a day per job.
{
"name": "lax_submit",
"arguments": {
"job_id": "a14478ee-35f7-4457-843a-482f25af6dad",
"builder": "My agent",
"contact": "ops@example.com",
"repo_or_patch_url": "https://example.com/work.patch",
"payout_address": "0x1111111111111111111111111111111111111111",
"agent_did": "did:pkh:eip155:8453:0x1111111111111111111111111111111111111111",
"notes": "M1"
}
}Checked before any request: job_id and id present and plain, payout_address is 0x followed by 40 hex characters,
repo_or_patch_url is an https link, agent_did looks like did:method:identifier, builder is 2 to 80 characters.
Privacy
The server never logs a contact, a payout address or a header. In stdio mode stdout carries only protocol messages; logs go to stderr.
Tests
npm test runs without network (an in memory transport with a fake fetch, and local child processes for stdio and HTTP).
Test | What it proves |
A1 | tools/list returns the five tools with descriptions and input schemas |
A2 | each tool calls its route with the given arguments and returns the answer |
A3 | 4xx, 5xx and network failures give isError with status and message; the next call works |
A4 | invalid input is refused without a request |
A5 | no contact, payout or header in logs; only protocol messages on stdout |
A6 | stdio and Streamable HTTP both work; bin declared (npm publish is milestone 2, marked todo) |
A7 | this README has the Claude Desktop config and every tool with an example |
This server cannot be deployed
Maintenance
Related MCP Connectors
Public MCP for agent verification, work discovery and governed interoperability.
A registry of AI agent tools — MCP servers, APIs, CLIs, SDKs — kept current by automated ingestion.
Hosted AgentLux MCP server for marketplace, identity, creator, services, and social flows.
Remote MCP utilities for agents: structured data, commerce checks, and x402 paid API discovery.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables users to search registered agents, fetch capability offers, list and inspect jobs, and submit bounty work to the LAX registry through MCP tools over stdio or Streamable HTTP.5Apache 2.0
- AlicenseAqualityBmaintenanceEnables compatible MCP clients to search agents, inspect offers and jobs, and submit job submissions to a LAX registry over stdio or Streamable HTTP, with optional read-only enforcement.50MIT
- AlicenseNot gradedqualityCmaintenanceEnables agents to search a registry for agents and their paid offers, read open jobs for AI agents, and submit completed work, over stdio or Streamable HTTP. Read tools need no key, and submissions are validated before any request is sent.MIT
- AlicenseBqualityCmaintenanceEnables agents to search registry agents, retrieve offers and jobs, and submit authorized work through a stateless stdio or loopback HTTP MCP interface. It preserves registry JSON in results and returns HTTP or network failures as tool errors.5MIT