Skip to main content
Glama
AIsa-public

AIsa MCP

Official
README.md
# AIsa MCP

Every AIsa data API as MCP tools, behind one endpoint:

```
https://mcp.aisa.one/mcp
```

580+ tools across 26 servers — SEO and AI visibility, finance, social, web
search, sales and agent mail — reached through five meta tools, so the
catalogue never has to land in a context window. Streamable HTTP. OAuth, with
nothing to paste.

This repository holds `@aisa-one/mcp`, a small stdio bridge for clients that
cannot speak remote MCP yet. **Most clients do not need it** — give them the URL
above and stop reading at [Connecting](#connecting).

---

## Five tools, not hundreds

A client that lists 580 tools has spent its context before the first question.
The root lists five:

| Tool | What it does | Cost |
| --- | --- | --- |
| `search` | Describe the task in plain words. Returns candidate operations with `operation_id`, `input_schema`, price, and sometimes a plan. | Free |
| `list_categories` | The categories a search can be narrowed to. | Free |
| `get_details` | One operation's full contract: arguments, response shape, whether it is read-only, price for your account, known pitfalls. | Free |
| `use` | Run one operation. `max_price_usd` refuses anything above your cap before it charges. | Per call |
| `batch_use` | Up to 20 operations at once, under the same cap. | Per call |

Searching and reading schemas costs nothing, so an agent can survey the whole
catalogue before spending anything.

## Connecting

One URL, transport `streamable-http`:

```bash
# Claude Code
claude mcp add --transport http -s user aisa https://mcp.aisa.one/mcp

# Codex
codex mcp add aisa --url https://mcp.aisa.one/mcp
```

Cursor, VS Code, Windsurf and the rest take the same URL as a `url` entry in
their MCP settings:

```json
{
  "mcpServers": {
    "aisa": {
      "type": "streamable_http",
      "url": "https://mcp.aisa.one/mcp"
    }
  }
}
```

Authorization is OAuth and needs no account to exist first. An unauthenticated
call answers 401 with a `WWW-Authenticate` header naming
`https://mcp.aisa.one/.well-known/oauth-protected-resource/mcp` (RFC 9728), and
the authorization server it points to accepts an unregistered client (RFC 7591)
— so the client registers itself, opens a browser, and you click Allow once.

That 401 is the discovery mechanism, not a failure.

Already have a key from [console.aisa.one](https://console.aisa.one)? Send it as
`Authorization: Bearer $AISA_API_KEY` and no browser opens. That is the way in
over SSH or in CI.

## Clients that only speak stdio

Claude Desktop and a few others spawn a local command and talk over stdin and
stdout. This package is that command:

```json
{
  "mcpServers": {
    "aisa": {
      "command": "npx",
      "args": ["-y", "@aisa-one/mcp"]
    }
  }
}
```

It bridges stdio to the remote endpoint, runs the OAuth browser flow on first
use and caches the token. The bridging itself is
[`mcp-remote`](https://github.com/geelen/mcp-remote)'s; this package supplies
the endpoint, the header form and the transport flag so you do not have to.

```bash
npx -y @aisa-one/mcp            # the root: five tools, reaches everything
npx -y @aisa-one/mcp seo        # one category, its tools listed directly
npx -y @aisa-one/mcp apollo     # one provider and nothing else
npx -y @aisa-one/mcp --help
```

`AISA_API_KEY` is picked up from the environment when it is set. Any further
arguments are passed to `mcp-remote` unchanged.

## Pinning a category

Every path below is the same root pinned to a different slice, so each still
carries the five meta tools, the price cap and `search` over everything. Pinning
changes what `tools/list` returns, never what is reachable.

| Endpoint | Listed | Reachable | Providers |
| --- | --- | --- | --- |
| `https://mcp.aisa.one/mcp` | 5 meta tools | everything | 26 |
| `https://mcp.aisa.one/gtm/mcp` | 43 | 163 | Apollo, Similarweb, X, Instagram, Reddit, Pinterest, YouTube, creator discovery |
| `https://mcp.aisa.one/seo/mcp` | 60 | 316 | DataForSEO, Semrush, Ahrefs |
| `https://mcp.aisa.one/sales/mcp` | 79 | 79 | Apollo, Similarweb, creator discovery |
| `https://mcp.aisa.one/social/mcp` | 56 | 56 | X, Instagram, Reddit, Pinterest, YouTube |
| `https://mcp.aisa.one/finance/mcp` | 48 | 48 | market data, crypto, prediction markets |
| `https://mcp.aisa.one/search/mcp` | 30 | 30 | Tavily, Exa, Perplexity, Firecrawl, Oxylabs |
| `https://mcp.aisa.one/<provider>/mcp` | one provider | — | 26 of them |

Counts move as the catalogue does. The live ones, and every provider endpoint,
are at [`mcp.aisa.one/servers`](https://mcp.aisa.one/servers), generated per
request by the running service.

## What it costs

`search`, `get_details` and `list_categories` are free. `use` and `batch_use`
are billed per call at the same prices as the AIsa REST API, with no seat and no
monthly minimum for the MCP itself. Every call takes `max_price_usd`, and one
that would cost more is refused before any charge.

A 402 says which of two things is missing — balance, or the Hive GTM Growth
subscription — and where to get it. Prices are at
[aisa.one/pricing](https://aisa.one/pricing).

## Reading more

- [`mcp.aisa.one/llms.txt`](https://mcp.aisa.one/llms.txt) — the whole server
  described for an agent, rendered live from its own catalogue
- [`mcp.aisa.one/servers`](https://mcp.aisa.one/servers) — the live inventory:
  entry points, modules, per-provider endpoints, tool counts
- [`mcp.aisa.one/.well-known/mcp/server-card.json`](https://mcp.aisa.one/.well-known/mcp/server-card.json)
  — the root's server card
- [aisa.one/mcp](https://aisa.one/mcp) — the same material for a person
- Published in the official MCP Registry under the `one.aisa` namespace: the
  root as `one.aisa/mcp`, plus one entry per category and per provider

## License

MIT

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct role: list_categories covers category-level discovery, search finds operations by task, get_details exposes contracts, and use/batch_use execute single or batched operations. There is no meaningful overlap between any pair.

Naming Consistency4/5

Names are all lowercase imperative commands with underscores, and the pair use/batch_use is logical. The main inconsistency is that search and use are bare verbs while list_categories and get_details include a noun object, but the pattern remains predictable and readable.

Tool Count5/5

Five tools is well-scoped for a gateway server that fronts a huge catalogue: two discovery tools, one detail tool, and two execution tools. Every tool earns its place and the count is appropriate.

Completeness5/5

The server covers the full lifecycle of working with the AIsa catalogue: browse categories, search operations, inspect contracts, execute one operation, and execute many operations. No obvious dead ends or missing capabilities for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues