veto

Registre officiel Outils de développement

Turn OpenAPI services into tools an agent can call under your rules.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

OCI package ghcr.io/aiveto/veto:0.1.13
Claude Code
claude mcp add veto -- docker run -i --rm ghcr.io/aiveto/veto:0.1.13 serve --config
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "veto": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "ghcr.io/aiveto/veto:0.1.13",
                "serve",
                "--config"
            ]
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. Your entire API platform. Just 3 MCP tools.
  2. 100 endpoints. 1,000 endpoints. Still 3 MCP tools.
  3. Your APIs are connected. Your agents should know that.
  4. Agents can act. You stay in control.
  5. One OpenAPI catalog. Multiple ways to use it.
  6. Get started
  7. See Veto in action

Your entire API platform. Just 3 MCP tools.

Your APIs are already built.

Point veto at your OpenAPI specs. An agent gets three tools: search, describe, and invoke. You name how the APIs connect. A delete waits until a person approves it.

No API rewrites. The agent does not get a tool for every endpoint.

See it yourself: Run the Harbor demo. Mara's order, the customer and invoice links, and a delete that waits.

100 endpoints. 1,000 endpoints. Still 3 MCP tools.

search → describe → invoke
  • Search. Find the right API using natural language.
  • Describe. Discover its schema and what to call next.
  • Invoke. Execute it with built-in controls.

Your API catalog grows. Your agent's tool surface stays the same.

Your APIs are connected. Your agents should know that.

Ask: "Who placed order 123?"

orders.get → customerId 7 → customers.get

Veto uses declared relationships to guide the next API call. No guessed endpoints. No invented relationships. No loading the entire API catalog into context.

Agents can act. You stay in control.

Ask: "Delete order 123."

Veto holds the operation until a human approves the exact caller, operation, and parameters. When approval is required, the operation cannot proceed without it.

One OpenAPI catalog. Multiple ways to use it.

Want to...Veto gives you
Connect an agentSearch, describe, and invoke
Use your terminalveto search, veto describe, veto invoke
Write a scriptveto serve --json
Call it from GoOne generated client for this runtime, shared by every API
Follow a link to another serviceSearch in plain language, then the links you wrote
Stop a sensitive callA person approves the exact caller, operation, and parameters
See what ranA record of what ran, with secrets left out

One catalog. One runtime. Consistent behavior across interfaces. Module github.com/aiveto/veto.

Get started

Already have OpenAPI specs? You're three commands away from your first MCP server.

brew install aiveto/veto/veto
veto init orders.yaml customers.yaml
veto serve --stdio

The setup guide has the block for Claude, Cursor, or ChatGPT.

See Veto in action

Harbor is a working example: orders, customers, billing, the links between them, and a delete that waits. make demo runs it over the CLI, then over MCP.

No model API key for the local example in this repo: go run ./examples/two-apis.

You already have the APIs. Give your agents a better way to use them.

Get started · Try the demo · Explore the source

Questions fréquentes

Qu'est-ce que veto ?

Turn OpenAPI services into tools an agent can call under your rules.

Comment installer veto ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add veto -- docker run -i --rm ghcr.io/aiveto/veto:0.1.13 serve --config. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour veto ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

veto est-il open source ?

Oui. Son code est sur GitHub sous licence Apache-2.0.

Qui maintient veto ?

Il est publié par aiveto. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.