Back to Browse

Veto MCP Server

by Aiveto
Developer ToolsLow Risk10.0MCP RegistryLocal
Free

Server data from the Official MCP Registry

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

About

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

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (5 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.

6 files analyzed · No issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

database

Check that this permission is expected for this type of plugin.

Documentation

View on GitHub

From the project's GitHub README.

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

Reviews

No reviews yet

Be the first to review this server!