npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@adam-gfam/orca

v1.0.8

Published

ORCa - OpenAPI as Remote CLI

Downloads

727

Readme

Welcome to ORCa!

⭐ on Github: gfam-git/orca ⬇️ from npm: @adam-gfam/orca

What is ORCa?

The "ORC" in ORCa_ stands for OpenAPI as Remote CLI, which is meant to serve as an alternative to MCP. Namely, ORC is a concept of an LLM-first web protocol like MCP, except that it exposes all tools and tool sets via a single text input like a command line. The entire CLI behavior on the remote side is powered by, and verified by, an existing OpenAPI spec for said service.

This project, ORCa, is a proof-of-concept implementation that utilizes the already existing, official, @modelcontextprotocol/server MCP server SDK. This is for a few reasons:

Features (Existing and Planned)

  • Single string input for accepting web requests like CLI commands.
  • Builds command map with arguments based on the paths exposed by any arbitrary OpenAPI spec.
  • Automatically parse input and interact with attached service according to the OpenAPI spec.
  • Automatically generate --help text based on resource, functions, and input descriptions in the OpenAPI spec.
  • Broad configuration opetions via environment variables.

Why?

Pros and Cons of MCP vs. ORC.

| ORC | MCP | | --- | --- | | Simple, familiar interface that can theoretically be used by humans and not just LLMs. | Can only be practically used by LLMs. | | Forcing use of --help flag in tool calls reduces context consumption, and ensures that agents get only the context they need when they need it. | Exposed tools are added to the context all at once, making it easy for agents to know how to use all tools immediately, but consume precious context. | | OpenAPI specs define exactly how the web service accepts requests, so a CLI can be automatically generated without creating a custom package for each integration. | This can theoretically be done with MCP servers as well, but would be more difficult from a development standpoint. |

ORC should be especially attractive to people utilizing locally-hosted LLMs, as automated setup and context efficiency is paramount in these use-cases.

Quick Start

The fastest way to try ORCa:

export ORCA_SPEC_ENDPOINT=https://example.com/openapi.json
npx -y @adam-gfam/orca

Then use the command_line tool from any MCP client with a single string:

command_line(input="--help")

This lists all available resources. Use <resource> --help to explore further.

Getting Started

Simply add the server to any MCP client. This will depend on the client being used, so consult those docs.
This can be done via the stdio transport.

The ORCA_SPEC_ENDPOINT environment variable is required, and must be set to the URL of the remote service endpoint serving the OpenAPI spec. For a full list of environment variables, see the docs: docs/reference/environment-variables.md.

Command-Line Tool

Once configured, the server exposes a single command_line tool that accepts a string input and parses it into arguments:

  • The input string is split on whitespace (spaces, tabs, newlines).
  • Content wrapped in matching single (') or double (") quotes is preserved as a single argument, including any internal whitespace.
  • Escaped characters (\" and \') are handled inside quoted strings.

For example, the following input:

hello 'world foo' bar

Would be parsed as the following arguments:

Arguments (3):
  [ 0] 'hello'
  [ 1] 'world foo'
  [ 2] 'bar'

Authentication

ORCa supports four auth methods: none, bearer, basic, and apikey. You can either:

  1. Override via environment variables — set ORCA_AUTH_METHOD and the corresponding credential variables. This takes precedence over any auth inferred from the OpenAPI spec.
  2. Infer from the spec — if ORCA_AUTH_METHOD is unset, ORCa examines the first securitySchemes entry in the OpenAPI spec.

See docs/reference/environment-variables.md for the complete reference.

Example Configs

Hermes Agent (Dashboard)

Log into Hermes.

Navigate to MCP and click Add Server.

Set the following fields:

  • Name - Any name you want. For example web-browser-orca for a web browser service.
  • Transport - stdio
  • Command - npx
  • Args - -y @adam-gfam/orca
  • Environment
    ORCA_SPEC_ENDPOINT=https://remote.service.example.tld/api

Full Documentation

All technical documentation is in the docs/ directory.

Developing and Contributing

All contributions welcome.
Follow the guidlines in CONTRIBUTING.md if you wish to collaborate on ORCa.