@ekoindia/eps-context-mcp 0.1.26 → 0.1.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -51,6 +51,36 @@ claude mcp add eps --transport http https://mcp.eko.in/context/mcp
51
51
  `GET https://mcp.eko.in/context/healthz` reports the bundle version it is serving.
52
52
  Rate-limited per IP at the proxy.
53
53
 
54
+ ### Non-MCP clients (REST + OpenAPI)
55
+
56
+ For tools that take plain HTTP actions instead of MCP — ChatGPT custom GPTs
57
+ (Actions), Gemini function calling, n8n, Zapier and the like — the same tools
58
+ are served as REST, described by a generated OpenAPI 3.1 document:
59
+
60
+ ```
61
+ https://mcp.eko.in/context/openapi.json
62
+ ```
63
+
64
+ Every tool is `POST /context/tools/<name>` with its arguments as a JSON object
65
+ body (empty body = no arguments). It is not a second implementation: each
66
+ request drives the real MCP server in-process, so names, arguments and
67
+ validation match the MCP tools exactly, and a new tool appears here
68
+ automatically (only tools annotated `readOnlyHint: true` are published).
69
+
70
+ ```bash
71
+ curl -s -X POST https://mcp.eko.in/context/tools/get_faqs \
72
+ -H 'content-type: application/json' -d '{"query":"billing","limit":3}'
73
+ ```
74
+
75
+ - `200` → the tool's JSON result (non-JSON output such as `get_signing_snippet`
76
+ comes back as `{ "text": "…" }`).
77
+ - `400` → invalid arguments or a body that is not a JSON object; `404` →
78
+ unknown tool, or the slug/id/recipe looked up does not exist; `503` → bundle
79
+ not loaded yet. Errors are `{ "error": { "code", "message" } }`.
80
+
81
+ **ChatGPT custom GPT:** Configure → Actions → *Import from URL* →
82
+ `https://mcp.eko.in/context/openapi.json`, authentication *None*.
83
+
54
84
  **stdio is still the better fit for CLI agents** (Claude Code, Cursor, Codex):
55
85
  it starts instantly, works offline from the baked bundle, and costs no network
56
86
  round trip per tool call.
@@ -71,6 +101,7 @@ clients can see this programmatically.
71
101
  | `get_api` | `slug` | Full detail for one endpoint (params, response fields, errors, examples). |
72
102
  | `get_topic` | `topic` (`auth` \| `errors` \| `pricing` \| `environments`) | One documentation topic. |
73
103
  | `get_recipe` | `id` | One multi-step recipe (steps + branches). |
104
+ | `get_faqs` | `tag?`, `query?`, `limit?` | EPS FAQs (onboarding, auth, testing, integration, pricing, compliance, support). Filter by `tag`, rank by `query`. Answers are markdown with absolute links. |
74
105
  | `get_signing_snippet` | `language` (`php` \| `java` \| `csharp` \| `javascript` \| `python` \| `go`) | Paste-ready **backend** code to compute the request `secret-key`. |
75
106
  | `list_sdks` | — | The backend SDKs that wrap every endpoint: language, package, install command, minimum runtime, docs URL. Compact — no members or examples. |
76
107
  | `get_sdk` | `language` (`javascript` \| `python` \| `php` \| `go` \| `java`; the guide slug such as `nodejs` also works) | One SDK in full: install + requirements, client config options with units, every public class/method/type, file-upload values, the error and timeout contract, and a worked `call()` example. |