Node.js client for the unofficial ChatGPT API.
 
 
 
Go to file
Travis Fischer 2f22119876 feat: add DurableMcpClient to persist origin mcp client connections across API gateway requests 2025-06-09 01:46:08 +07:00
.cursor/rules
.github 📩 2025-06-01 20:02:02 +07:00
.vscode
apps feat: add DurableMcpClient to persist origin mcp client connections across API gateway requests 2025-06-09 01:46:08 +07:00
packages feat: add DurableMcpClient to persist origin mcp client connections across API gateway requests 2025-06-09 01:46:08 +07:00
.editorconfig
.gitignore 🐜 2025-06-08 00:45:57 +07:00
.npmrc
.prettierignore 🚾 2025-06-01 02:17:31 +07:00
eslint.config.js 🚖 2025-06-05 00:37:57 +07:00
license
package.json feat: refactor and WIP add e2e tests 2025-06-03 16:48:24 +07:00
pnpm-lock.yaml 🔈 2025-06-07 16:13:44 +07:00
pnpm-workspace.yaml 💎 2025-06-06 22:21:46 +07:00
readme.md feat: add DurableMcpClient to persist origin mcp client connections across API gateway requests 2025-06-09 01:46:08 +07:00
tsup.config.ts
turbo.json

readme.md

Build Status Prettier Code Formatting

Agentic

API Gateway

  • REST: GET/POST gateway.agentic.so/deploymentIdentifier/toolName
    • => MCP: MCPClient.callTool with JSON body parameters
    • => OpenAPI: GET/POST/ETC originUrl/toolName operation with transformed JSON body params
  • MCP: mcp.agentic.so/deploymentIdentifier MCP server?
    • => MCP: MCPClient.callTool just proxying tool call
    • => OpenAPI: GET/POST/ETC originUrl/toolName operation with transformed tool params
  • RAW: METHOD gateway.agentic.so/deploymentIdentifier/<pathname>
    • => Raw HTTP: METHOD originUrl/<pathname> simple HTTP proxy request

do I just ditch public REST interface and focus on MCP?

TODO

  • webapp
  • stripe
    • stripe checkout
    • stripe billing portal
  • end-to-end working examples
    • openapi
    • mcp
    • raw
  • auth
    • custom auth pages for openauth
  • API gateway
    • enforce rate limits
    • how to handle binary bodies and responses?
    • add support for immutable in toolConfigs
  • Public MCP server interface
    • McpAgent.serve
    • how do I use consumer auth tokens with this flow?
    • how does oauth work with this flow?
  • Origin MCP servers
    • CF durable object stability across requests
      • REST => MCP: getDurableObject(consumer auth token or deployment + IP) containing MCP client connection
      • MCP => MCP: getDurableObject(mcp-session-id)
      • do I just ditch the public REST interface and focus on MCP?
    • how to guarantee that the request is coming from agentic?
      • like x-agentic-proxy-secret or signed requests but for MCP servers
      • or do this once at the connection level?
    • how to pass agentic gateway context to the origin server?
      • instead of headers, maybe optional agenticContext param?
      • how does this work with mcp auth?
    • mcp auth provider support
    • SSE support? (no; post-mvp if at all; only support streamable http like smithery does, or maybe support both?)
    • caching for MCP tool call responses
    • binary bodies / responses?
    • resources
    • prompts
    • other MCP features?

TODO Post-MVP

License

UNLICENSED PROPRIETARY © Agentic

To stay up to date or learn more, follow @transitive_bs on Twitter.