diff --git a/README.md b/README.md index 494a69b..4cf4da9 100644 --- a/README.md +++ b/README.md @@ -53,18 +53,19 @@ curl -s -X POST https://api.getanyapi.com/agent/signup | Variable | Required | Default | Meaning | | --- | --- | --- | --- | -| `ANYAPI_API_KEY` | No | none | Your AnyAPI key. Every tool call needs it. Connecting and listing the tools does not. | +| `ANYAPI_API_KEY` | No | none | Your AnyAPI key. Running an API needs it. Connecting, listing the tools, and the four catalog tools do not. | | `ANYAPI_MCP_URL` | No | `https://api.getanyapi.com/mcp` | The hosted endpoint to proxy to. | The key is optional on purpose, but be precise about what that buys. The hosted server answers `initialize` and `tools/list` without a credential, so a client -connects and sees the ten tools with no account. **Every `tools/call` needs a -key, including the discovery tools** - `search_apis`, `list_apis` and `get_api` -all return 401 without one. - -To read the catalog with no account at all, use the public REST endpoints -instead: `GET https://api.getanyapi.com/catalog` and -`GET https://api.getanyapi.com/catalog/search`. Both answer keyless. +connects and sees the ten tools with no account. It also answers the four +catalog tools without one - `search_apis`, `list_apis`, `get_api` and +`quote_api` - so a keyless install can find an API, read its input schema and +price a call. **`run_api` and the account tools return 401 without a key.** + +The same catalog is public over REST as well: +`GET https://api.getanyapi.com/catalog` and +`GET https://api.getanyapi.com/catalog/search`. ## Tools diff --git a/package-lock.json b/package-lock.json index a6209ae..0f7b425 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "anyapi-mcp", - "version": "0.1.3", + "version": "0.1.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "anyapi-mcp", - "version": "0.1.3", + "version": "0.1.4", "license": "Apache-2.0", "dependencies": { "@modelcontextprotocol/sdk": "^1.30.0" diff --git a/package.json b/package.json index 0433682..ee961e2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "anyapi-mcp", - "version": "0.1.3", + "version": "0.1.4", "mcpName": "io.github.getanyapi-com/anyapi", "description": "Local stdio MCP server for AnyAPI - hundreds of scraping and data APIs behind one key, priced per request in USD. Proxies to the hosted AnyAPI MCP server.", "license": "Apache-2.0", diff --git a/server.json b/server.json index fb38fcd..6fe3671 100644 --- a/server.json +++ b/server.json @@ -2,7 +2,7 @@ "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json", "name": "io.github.getanyapi-com/anyapi", "description": "Hundreds of scraping & data APIs through one key. USD pay-per-request, normalized schemas, failover.", - "version": "0.1.3", + "version": "0.1.4", "websiteUrl": "https://getanyapi.com", "repository": { "url": "https://github.com/getanyapi-com/mcp", @@ -15,7 +15,7 @@ "headers": [ { "name": "Authorization", - "description": "AnyAPI API key as a Bearer token (format: Bearer aa_live_...). Mint one at https://getanyapi.com/dashboard/keys. Every tool call requires it, including the discovery tools; connecting and listing the tools does not.", + "description": "AnyAPI API key as a Bearer token (format: Bearer aa_live_...). Mint one at https://getanyapi.com/dashboard/keys. Needed to run an API; connecting, listing the tools, and the catalog tools (list_apis, search_apis, get_api, quote_api) all work without it.", "isRequired": true, "isSecret": true } @@ -27,7 +27,7 @@ "registryType": "npm", "registryBaseUrl": "https://registry.npmjs.org", "identifier": "anyapi-mcp", - "version": "0.1.3", + "version": "0.1.4", "runtimeHint": "npx", "transport": { "type": "stdio" @@ -35,7 +35,7 @@ "environmentVariables": [ { "name": "ANYAPI_API_KEY", - "description": "AnyAPI API key (format: aa_live_...). Mint one at https://getanyapi.com/dashboard/keys. Every tool call requires it, including the discovery tools; connecting and listing the tools does not.", + "description": "AnyAPI API key (format: aa_live_...). Mint one at https://getanyapi.com/dashboard/keys. Needed to run an API; connecting, listing the tools, and the catalog tools (list_apis, search_apis, get_api, quote_api) all work without it.", "isRequired": false, "isSecret": true } @@ -43,7 +43,7 @@ }, { "registryType": "oci", - "identifier": "ghcr.io/getanyapi-com/mcp:0.1.3", + "identifier": "ghcr.io/getanyapi-com/mcp:0.1.4", "runtimeHint": "docker", "transport": { "type": "stdio" @@ -51,7 +51,7 @@ "environmentVariables": [ { "name": "ANYAPI_API_KEY", - "description": "AnyAPI API key (format: aa_live_...). Mint one at https://getanyapi.com/dashboard/keys. Every tool call requires it, including the discovery tools; connecting and listing the tools does not.", + "description": "AnyAPI API key (format: aa_live_...). Mint one at https://getanyapi.com/dashboard/keys. Needed to run an API; connecting, listing the tools, and the catalog tools (list_apis, search_apis, get_api, quote_api) all work without it.", "isRequired": false, "isSecret": true }