Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>OrcA: OpenAPI & Arazzo to MCP ServerNew to Visual Studio Code? Get it now.
OrcA: OpenAPI & Arazzo to MCP Server

OrcA: OpenAPI & Arazzo to MCP Server

La Rebelion Labs

|
11 installs
| (1) | Free
Turn OpenAPI (Swagger) and Arazzo contracts into MCP servers, then chat with them and inspect every MCP tool call and LLM round in a live traffic graph. Run with HAPI, deploy and debug Model Context Protocol servers without leaving VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

OrcA — Orchestrator for APIs and Agents

OrcA — OpenAPI & Arazzo to MCP Server, inside VS Code

Be HAPI. Build Once. Deploy Everywhere. Discover Globally.
Self-host, deploy, and register MCP servers with confidence using HAPI CLI, Docker, or Cloudflare Workers.

Website · Docs · OrcA for MCP · Run MCP · HAPI CLI


Orchestrator for APIs and Agents for MCP

It bridges the gap between your API contracts and MCP servers, all within VS Code.

Turn any OpenAPI (Swagger) or Arazzo contract into a running MCP server, without leaving your editor. OrcA finds your API contracts, lets you explore them, previews the exact MCP tools an AI agent will get, runs them locally, and deploys them. It is powered by HAPI, the headless API engine of the HAPI MCP Stack.

API contract in, MCP tools out. No glue code, no SDK, no context switching between editor, terminal, browser and docs.


🆕 New in 0.4: an MCP agent harness, for any MCP server

0.3 showed you what your agent did. 0.4 shapes what it receives. OrcA is now a specialised harness for MCP and API work: it decides which instructions, tools and context the model gets, so it stops drowning in tool schemas and stops saying "I don't have access to that tool" when the tool is right there.

OrcA 0.4: an MCP agent harness in VS Code with external MCP servers, progressive tool discovery, and the Harness and Context tabs

  • 🔍 Progressive tool discovery. Tools load as the conversation needs them: OrcA searches with each message, the model sees a catalog of tool names it can load, and discovered tools are appended so prompt caches keep working. Fewer tokens, fewer wrong tools.
  • 🌐 Any MCP server. Add External MCP Server… (Streamable HTTP URL, optional headers) or Import MCP Servers… from mcp.json, then chat, inspect traffic and capture other clients, just like HAPI servers.
  • 🧰 Harness tab. Read and edit exactly what the model is told: instructions, automatic guidance, discovery mode, confirmation policy, and the tokens each server costs per turn.
  • 🧭 Context tab. On HAPI capability-graph servers, see the goals, required facts, gates and plans behind a multi-step request. Read-only; nothing runs.
  • 📄 Generate Contract. Infer an OpenAPI 3.1 contract from a hand-written server's catalog, and get told when it drifts.

Try it in 3 minutes: MCP Servers → Add External MCP Server… → Connect → open OrcA › Harness to compare tokens → ask a multi-step question in OrcA › Chat. Watch the walkthrough · Read the announcement.


New in 0.3: see everything your agent does with your MCP servers

Stop guessing why your agent called the wrong tool. OrcA 0.3 turns VS Code into an MCP traffic analyzer and a chat playground for your own servers: every LLM round, every tool call, every byte, on one screen.

OrcA 0.3: chat with your MCP servers and watch every LLM round and tool call in the OrcA Traffic graph

  • 📡 MCP Traffic, as a Git graph. Every JSON-RPC message and LLM round in one live timeline. See which model round triggered which tool calls, on which server, how long each took, and what it cost. Filter, search payloads, diff two calls, Copy as cURL, and Replay in one click.
  • 💬 Chat with your MCP servers. Connect any running server and ask questions in the new OrcA sidebar. Use GitHub Copilot's models with no API key, or OpenAI, Anthropic, Groq, OpenRouter, Ollama, LM Studio. Risky tools ask before they run.
  • ⇄ Watch Copilot, Claude & co. Put any server behind OrcA's local capture proxy and see exactly what other AI clients send it. No code changes, no extra tools.
  • 🎯 From a tool call to the line in your spec. Jump from any frame or tool straight to the OpenAPI operation or Arazzo workflow behind it.
  • 🔒 Private by design. No telemetry, no vendor SDKs. Secrets are redacted, keys live in VS Code's secret storage, and nothing is written to disk unless you save a session.

Try it in 30 seconds: open an OpenAPI file → Run with HAPI → right-click the server in MCP Servers → Connect → open OrcA › Chat and ask a question → OrcA: Show Traffic.


Why OrcA?

Your API contracts live in your IDE. Your MCP servers live somewhere else. Every change means switching between the editor, a terminal, a browser console and the docs, and hoping they still agree.

OrcA puts the whole loop in one place:

Without OrcA With OrcA
Hand-write MCP tool wrappers for every endpoint Every OpenAPI operation becomes an MCP tool automatically
Guess what tools an agent will see Dry Run shows the exact MCP tools/list before you ship
Terminal scripts to start a server Run with HAPI: one click, from the editor title bar
Separate dashboards to deploy and monitor Deploy and manage MCP servers from the sidebar
Multi-step API calls left to the LLM to improvise Arazzo workflows run as one deterministic MCP tool
Debug agents with console.log and guesswork OrcA Traffic shows every LLM round and tool call, with timing, tokens and cost
A separate inspector app to try your MCP tools Chat with your servers right in VS Code, with the model you already use
No idea what Copilot sends to your server The capture proxy records every request from any MCP client

OrcA MCP explainer

Features

🔎 Contracts: every OpenAPI and Arazzo file, found for you

OrcA recognizes contracts by their content (openapi: 3.x, arazzo: 1.1), not only by their file names. It groups them by where they live:

  • Workspace: the folders you have open.
  • HAPI Home: your personal spec library (~/.hapi/specs).

Start a new contract from a clean OpenAPI 3.1 or Arazzo 1.1 template with New Contract…. Filter Contracts… finds one by file name, title or description as you type.

🧭 Outline that follows your file

Open any contract and the Outline mirrors it:

  • OpenAPI / Swagger: paths → operations (colored by HTTP method), schemas and properties, security schemes, servers, tags, and x-hapi metadata.
  • Arazzo: source descriptions, workflows → steps, success criteria, outputs and components.

Click any node to jump to its exact line, even in large specs. You can add or remove Arazzo sources, workflows and steps from the tree, and undo the change.

🧪 Dry Run: see the MCP tools before you serve them

Preview what an AI agent will get, in the format you need:

  • JSON: a ChatGPT App submission dump, ready to complete.
  • Markdown: an AI-agent system prompt template built from your tools.
  • YAML or a readable table.

The result opens beside your contract. Nothing is started, and nothing is deployed. With HAPI 1.3 and the Enterprise A2A plugin, Dry Run also previews the A2A Agent Card HAPI would publish: read-only skills, capability skills, security, and the operations it leaves out.

✅ Agent readiness: contracts that agents can actually use

While you edit, OrcA checks each OpenAPI and Arazzo contract and shows findings in the Problems panel, at the exact line: vague summaries, POST searches without x-readOnlyHint (every call would ask for confirmation), invalid x-hapi-* extensions, searches that "select" for the user, and requirements nobody establishes. Check Agent Readiness adds HAPI's own verdict (graph audit, MCP tools, A2A card) and opens one report per contract.

🗺️ Designer: see the capability graph and your workflows

OrcA: Open Capability Graph draws a contract's facts and operations on a canvas: what each operation requires and produces, client facts, missing requirements, goals and failure outcomes. For Arazzo, the Designer also shows each workflow's steps, goto actions and calls. Drag nodes to arrange them, double-click to jump to the line in the contract, save the layout for your team, or copy the graph as Mermaid.

🤝 Run as an A2A agent

Run with Options… offers --a2a when your HAPI supports it: choose the public host, the skills to publish, and the card name. The run shows its Agent Card and /a2a endpoint in MCP Servers, with Open Agent Card and Copy A2A Endpoint.

▶️ Run with HAPI: a local MCP server in one click

Run hapi serve for any OpenAPI or Arazzo contract in an integrated terminal. Run with Options… adds headless (MCP-only) mode, development mode (hot reload), or a custom port. Paths with spaces are handled on Linux, macOS and Windows.

☁️ Deploy and manage MCP servers

  • Deploy MCP Server from any OpenAPI contract: just name the server. Your HAPI profile decides where it runs and on which plan.
  • MCP Servers view: running and stopped servers, with start, stop, restart, logs, open in browser, and delete.
  • Add to VS Code: register a running server in .vscode/mcp.json with one click, so Copilot, Claude and other MCP clients in VS Code can use it right away.

💬 Chat with your MCP servers

The OrcA view in the Secondary Sidebar has a Chat tab. Connect servers in MCP Servers, pick a model (VS Code language models need no key; OpenAI, Anthropic, Groq, OpenRouter, Ollama, LM Studio and any OpenAI-compatible endpoint work too), and ask. Every tool call shows up as a card with arguments, latency and size; tools that can change data ask first (Allow Once, Allow for This Session, Always Allow in This Workspace, Never Allow, Deny). Each answer ends with a summary of tools, tokens, time and cost.

  • Ask, Plan, Act: pick a role per chat. Ask and Plan only get read-only tools (the model never sees the others); Plan ends with a plan you review, and Proceed switches to Act.
  • History: chats are saved in this workspace's extension storage and restored on reload; open, rename or delete them from History (turn off with orca.chat.saveSessions).

🧭 Harness, progressive tool discovery and capability context

  • Harness tab: edit the chat's instructions (for you or per workspace), choose how tools reach the model, and see the tokens each request spends on instructions and tool definitions.
  • Progressive tool discovery: servers that offer tool search (HAPI tool_search, or tool_search_tool*) are no longer dumped into every request. The model gets a small search_tools tool, OrcA runs the server's own search, and only the tools it needs are loaded, saving thousands of tokens per turn. Servers without search work as before.
  • Context tab: for HAPI servers started with --capability-graph --capability-planning, see which goals a request can reach, the facts and confirmations they need, and a deterministic plan. Nothing is executed.
  • Facts of this chat: successful calls add the facts they produce as observed; you confirm them (or add facts you verified), and Plan This Goal and the model start from the verified ones.
  • Tool rules and A2A: the Harness tab lists the tools you always or never allow in this workspace, and shows which servers also advertise an A2A Agent Card.

📡 Traffic analysis

OrcA Traffic (bottom Panel, or an editor tab) records every JSON-RPC message and every LLM round, drawn as a Git-style graph: a chat round forks to the tool calls it caused and merges back into the next round. Filter and search, compare two calls in the native diff editor, Copy as cURL, Replay (with a guard for mutating tools), jump to the operation in your contract, and save a session to .orca-traffic.json.

🌐 Any MCP server, not only HAPI ones

Already running an MCP server you wrote by hand? Add External MCP Server… (a name, a URL, optional headers) or Import MCP Servers… from .vscode/mcp.json, and it gets the same chat, traffic analysis, proxy and catalog as HAPI servers. OrcA connects to Streamable HTTP servers.

Generate Contract then infers an OpenAPI 3.1 contract from the server's live catalog, deterministically: every tool becomes an operation, so Open Operation in Contract, the Outline, search and Dry Run work for hand-written servers too. Regenerate Contract shows exactly what changed on the server since, in a diff.

⇄ Capture any MCP client

Expose via Proxy puts a server behind http://127.0.0.1:7331/mcp/<server>, and Add to VS Code › Through OrcA registers that address, so you can watch what Copilot, Claude or any other client sends. Streams pass through untouched; OAuth servers are not proxied yet.

🏠 HAPI Home

Browse the folders the hapi CLI uses (specs, config, plugins, logs, certs) and run, dry-run or deploy the specs stored there. Private keys are never previewed without your confirmation.

✅ Arazzo workflow authoring

Arazzo 1.1 schema validation in the Problems panel, Validate All across your workspace, export to JSON or YAML, and custom deployment hooks.

🔔 Activity, status and guidance

  • Activity tab of the OrcA view (Secondary Sidebar): server events and failed calls, linked to their traffic frames.
  • Status bar: your HAPI session and mode (local or remote).
  • OrcA Guide: an animated tour plus built-in docs, available offline.
  • Get started with OrcA: a walkthrough on the VS Code Welcome page.

How to

Turn an OpenAPI spec into MCP tools in 60 seconds

  1. Open your openapi.yaml (or create one with OrcA: New Contract…).
  2. Click Dry Run in the editor title bar and choose Table to see the MCP tools.
  3. Click Run with HAPI. Your MCP server is now running on http://localhost:3000/mcp.
  4. In MCP Servers, use Add to VS Code to connect it to your AI assistant.

Generate an AI-agent system prompt from an API Run Dry Run → Markdown. You get a prompt template with every tool already listed; complete the role and policies with your favorite coding agent.

Prepare a ChatGPT App submission Run Dry Run → JSON. The tool names, descriptions and read-only/destructive hints are filled in from your contract.

See exactly what your agent sends to your MCP server Right-click the running server › Expose via Proxy, then Add to VS Code › Through OrcA. Use Copilot as usual and watch OrcA Traffic: each call, its latency, size and payload.

Chat with your API before wiring an agent Connect the server, open OrcA › Chat, choose a model, and ask. Tool calls, tokens and cost are shown per turn.

Document a hand-written MCP server in one click Add External MCP Server… → Connect → right-click → Generate Contract. You get an OpenAPI 3.1 file with every tool, its input and output schemas, and annotations; regenerate later to spot catalog drift.

Orchestrate multiple API calls deterministically Create an Arazzo workflow (New Contract… → Arazzo Workflow), describe the steps, and run it with HAPI. The whole workflow is exposed as a single MCP tool.


Requirements

  • VS Code 1.138 or newer (Windows, macOS, Linux, WSL, SSH and Dev Containers).
  • The HAPI CLI for Run and Dry Run. Don't have it? OrcA offers to install it in one click (OrcA: Install HAPI CLI).

Privacy

OrcA has no telemetry. In the default local mode, OrcA makes no calls to the HAPI API; your contracts and servers stay on your machine. It connects to MCP servers only when you ask, and to an LLM only when you chat, using only the provider you chose. Traffic stays in memory, with secrets redacted, and is written to disk only when you save a session. Chats are saved in this workspace's extension storage on your machine (never sent anywhere; turn off with orca.chat.saveSessions); they never contain keys or headers. Remote mode talks only to the HAPI API you configure. Sign-in tokens, API keys and server headers are kept in VS Code's secret storage.

🔐 Where your secrets are stored

API keys, MCP server headers (for example Authorization: Bearer …) and HAPI sign-in tokens are stored with VS Code's built-in Secret Storage, never in settings, workspace files, logs or traffic:

  • VS Code encrypts them with your operating system's protection: Windows Credential protection (DPAPI), the macOS Keychain, or the Linux keyring (GNOME Keyring / KWallet).
  • Only OrcA can read its own secrets; other extensions cannot.
  • In WSL, SSH and Dev Container windows they stay on your local machine.
  • They are not synced between machines: enter them again on a new computer.
  • Remove (external servers), Set Headers… → Clear All Headers and Set API Key… with an empty value delete them.

Linux tip: without a desktop keyring, VS Code may fall back to weak encryption. Install gnome-keyring (or use KWallet), or see VS Code's keyring troubleshooting.

Frequently asked questions

Does OrcA support Swagger 2.0? OrcA works with OpenAPI 3.x. Convert Swagger 2.0 documents to OpenAPI 3 first; OrcA tells you when a file is Swagger 2.0.

Can OrcA connect to MCP servers that HAPI did not create? Yes. Add them as external servers (or import them from .vscode/mcp.json). OrcA supports Streamable HTTP servers; stdio and legacy SSE servers are listed as not supported.

What is Arazzo? Arazzo is the OpenAPI Initiative's specification for describing sequences of API calls (workflows). OrcA writes and validates Arazzo 1.1.

Does OrcA send my data anywhere? No. There is no analytics or telemetry code. The chat talks only to the provider you selected (or to VS Code's own models), and traffic never leaves your machine unless you save and share a session file.

Which MCP clients can use the servers? Any client that speaks the Model Context Protocol over HTTP, including VS Code (GitHub Copilot), Claude, ChatGPT Apps, and your own agents.


Learn more

  • 📘 HAPI MCP documentation
  • 🌐 MCP.com.ai
  • 🎥 La Rebelion Labs on YouTube
  • 📰 Newsletter

OrcA is part of the HAPI MCP Stack by La Rebelion Labs. Be HAPI, and enjoy building!

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft