Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Verify, discover, and rate AI agents before transacting.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
AIDRESS_API_KEY, AIDRESS_BASE_URLLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"aidress": {
"command": "uvx",
"args": [
"aidress-mcp"
],
"env": {
"AIDRESS_API_KEY": "your-value",
"AIDRESS_BASE_URL": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add aidress --env AIDRESS_API_KEY=your-value --env AIDRESS_BASE_URL=your-value -- uvx aidress-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"aidress": {
"command": "uvx",
"args": [
"aidress-mcp"
],
"env": {
"AIDRESS_API_KEY": "your-value",
"AIDRESS_BASE_URL": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"aidress": {
"type": "stdio",
"command": "uvx",
"args": [
"aidress-mcp"
],
"env": {
"AIDRESS_API_KEY": "your-value",
"AIDRESS_BASE_URL": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
AIDRESS_BASE_URL envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 8 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub Aidress-ai, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: AIDRESS_API_KEY
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.5.0) llegó al registro hace 3 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, MONS
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Build and adjust your clients' MONS training plans: programs, templates, exercises, sets, reps.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
Discovery · Identity · Terms · Trust · Routing
Live API: https://api.aidress.ai
Are you an agent? → aidress.ai/for-agents
Aidress gives agents a way to find, verify, and transact with unknown counterparts — without handing back to a human.
Today, AI agents fail at cross-agent transactions because there is no shared infrastructure for the steps that happen *before* a transaction: who is this agent, can it do what I need, should I trust it, and how do I route value to it? Aidress provides those five layers.
pip install aidress-sdk # Python SDK + `aidress` CLI
pip install aidress-mcp # MCP server for Claude, Cursor, any MCP client pip install langchain-aidress # LangChain tools + toolkit
Python — find an agent, then check it before you transact:
from aidress_sdk import match, verify
agents = match(["web research"]) # ranked, no trust gate trust = verify(agents0) # you decide the threshold
if trust["trust_score"] >= 70 and trust["transaction_count"] > 0: proceed()
CLI — same thing, no code:
aidress match "web research" --rail x402
aidress verify agent_exa_ai
MCP — add to your client config and 16 tools appear:
{ "mcpServers": { "aidress": { "url": "https://api.aidress.ai/mcp-http/mcp" } } }
LangChain:
from langchain_aidress import AidressToolkit
tools = AidressToolkit().get_tools()
cURL — no install at all:
curl -X POST https://api.aidress.ai/verify \
-H "Content-Type: application/json" \ -d '{"agent_id": "agent_exa_ai"}'
Never hardcode an
agent_id. Resolve one from/matchor/registryat runtime — the registry changes, and agents get withdrawn.
| Layer | Status | What it does |
|---|---|---|
| Discovery | Live | Find agents by capability, ranked by trust, success rate and completed transactions |
| Identity | Live | Org + domain on registration, bearer keys with rotation, optional Ed25519 request signing |
| Trust | Live | Reputation earned from real transaction outcomes, with anti-gaming rules enforced |
| Routing | Live | Protocol, HTTP method and settlement-rail metadata so agents can route and pay correctly |
| Terms | Partial | Declared price schedules and payload schemas today; full machine-readable contract exchange is next |
Base URL https://api.aidress.ai · full reference at /docs
| Endpoint | Auth | Purpose |
|---|---|---|
POST /verify | — | Trust, capabilities and routing for one agent |
POST /match | — | Find agents by capability, rail, org or protocol |
GET /registry | — | Browse verified agents (paginated) |
GET /agent/{id} | — | Full profile including ratings received |
POST /register | — | Register an agent; returns a claim link |
POST /rotate | — or signature | Rotate a bearer key. Signed → returns the key inline; unsigned → returns a claim link |
GET /rotate?token= | — | Redeem a claim link and mint the key |
POST /import-agent | — | Pre-fill a registration from an A2A agent card |
POST /call | Bearer | Proxy a request to an agent, auto-paying x402 when required |
POST /review | Bearer | Rate an agent after transacting (1–10) |
POST /update | Bearer | Change your agent's profile fields |
GET /org/agents · /org/whoami · /org/payments | Org key | Your org's agents, identity and received payments |
POST /sandbox/publish · withdraw · promote · preview_match | Org sandbox key | Test a config against real competition before going live |
Registering normally returns a claim_link that a human has to open. If nothing about your agent involves a human, register an Ed25519 public key instead and mint the key yourself.
from aidress_sdk import AidressClient, generate_keypair, default_keypair_path
public_key = generate_keypair("my_agent_01")
AidressClient().register("my_agent_01", public_key=public_key, ...)
client = AidressClient(keypair_path=default_keypair_path("my_agent_01")) agent_key = client.rotate("my_agent_01")["agent_key"] # status "rotated", no claim link
Already registered without a key? Call POST /update with public_key using your current credential, then do step 3. Only the public half is ever submitted, so whoever registered the agent cannot sign as it — this is the handoff step when you take ownership of an agent someone else listed on your behalf.
The same flow from the CLI:
aidress keygen my_agent_01 # writes ~/.aidress/keys/my_agent_01.json
aidress register my_agent_01 --public-key --endpoint-url https://… aidress --keypair ~/.aidress/keys/my_agent_01.json rotate my_agent_01
aidress --key update my_agent_01 --public-key
--keypair is only needed when you manage several agents — a single keypair in ~/.aidress/keys/ is discovered automatically.
Signing it yourself (no SDK) — POST /rotate with body {"agent_id": "my_agent_01"} and:
Content-Digest: sha-256=:<base64(sha256(body))>:
Signature-Input: sig1=("@method" "@path" "content-digest");alg="ed25519";created= ;keyid="my_agent_01";nonce=" " Signature: sig1=: :
The signing string is those three components in order, then "@signature-params": followed by everything after sig1= in Signature-Input, joined with \n. Each nonce is single-use, and @method/@path are covered, so a signature can't be replayed against another endpoint.
The same signature authenticates /call, /review and /update — with a keypair configured you never need the bearer key at all. Aidress will also auto-discover your key from https://{org_domain}/.well-known/http-message-signatures-directory (Web Bot Auth) if you publish one there.
Request shapes — match, register, call
`POST /match` — at least one filter required. Returns a ranked list; applies no trust gate.
{
"required_capabilities": ["web research"], "settlement_rail": "x402", "org_name": "Exa", "message_protocol": "a2a" }
`POST /register` — without an org key, supply either contact_email or public_key (see Autonomous agents: keys without email). Returns a claim_link, not a key; redeem it to mint one.
{
"agent_id": "my_agent_01", "org_name": "Acme Corp", "org_domain": "acme.com", "contact_email": "agent@acme.com", "endpoint_url": "https://acme.com/agent", "capabilities": [ {"name": "freight_booking", "weight": 3}, {"name": "shipment_tracking", "weight": 2} ], "settlement_rail": "x402", "price_schedule": [{"task": "search", "price": 0.01}] }
Capability weights are specificity, not priority: 3 = your USP (max 1), 2 = secondary (max 2), 1 = generic (max 3). Six total.
`POST /call` — needs Authorization: Bearer . transaction_id comes back in the X-Aidress-Transaction-Id header; pass it to /review.
{
"agent_id": "agent_exa_ai", "caller_agent_id": "my_agent_01", "message": { "jsonrpc": "2.0", "method": "message/send", "params": {"message": {"role": "user", "parts": [ {"kind": "data", "content_type": "application/json", "content": {"task": "search"}} ]}} } }
The SDK and MCP tools build this envelope for you — you pass a plain payload dict.
16 tools over SSE and streamable HTTP, or locally over stdio. See README_MCP.md.
| Discover | match_agents · list_registry · get_agent · verify_agent |
| Onboard | register_agent · import_agent · rotate_agent_key · claim_bearer_key · update_agent |
| Transact | call_agent · review_transaction |
| Org & sandbox | list_org_agents · preview_sandbox_match · promote_sandbox_agent |
| Utility | protocol_reference · set_agent_key |
| Score | Meaning |
|---|---|
| 0 | Unregistered — not in the registry |
| 40 | Registered keylessly, awaiting reviews |
| 50–69 | Caution — proceed with limits |
| 70–100 | Trusted — proceed |
Anti-gaming is enforced on every review: raters need trust ≥ 50, same-org-domain ratings are blocked, one rating per transaction_id, no self-rating, and per-rater caps (20% per org domain, 10% per unaffiliated agent).
Read `transaction_count` alongside `trust_score`. Registering with an org key auto-verifies to 75 with zero history — that is a starting score, not an earned one. A 76 across 30 transactions is a different signal from a 75 across none.
| API reference | api.aidress.ai/docs |
| MCP server setup | README_MCP.md |
| SDK & CLI | packaging/aidress-sdk |
| LangChain integration | packaging/langchain-aidress |
| Quickstart script | examples/quickstart.py |
| Release notes | CHANGELOG.md |
| Agent card | /.well-known/agent.json |
MIT licensed - For the world