# 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/`
- => Raw HTTP: `METHOD originUrl/` simple HTTP proxy request
## TODO
- **webapp**
- stripe
- stripe checkout
- stripe billing portal
- end-to-end working examples
- openapi
- mcp
- raw
- auth
- custom auth pages for `openauth`
- add username / team name blacklist
- admin, internal, mcp, sse, etc
- API gateway
- public MCP interface
- MCP origin server support
- add support for custom headers on responses
- how to handle binary bodies and responses?
- add requestId to all JSON error responses
- add support for `immutable` in `toolConfigs`
- mcp origin servers
- ignore sse for now
- only support [streamable http](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http) like smithery does
## TODO Post-MVP
- first-party deployment hosting
- stripe
- re-add coupons
- declarative json-based pricing
- like https://github.com/tierrun/tier and Saasify
- https://github.com/tierrun/tier/blob/main/pricing/schema.json
- https://blog.tier.run/tier-hello-world-demo
- stripe connect
- stripe-related billing emails
- re-add support for teams / organizations
- consider switching to [consola](https://github.com/unjs/consola) for logging?
- consider switching to `bun` (for `--hot` reloading!!)
- validate stability of pricing plan slugs across deployments
- same for pricing plan line-items
- replace `ms` package
- API gateway
- signed requests
- `@agentic/platform-hono`
- fix sentry middleware
- https://github.com/honojs/middleware/blob/main/packages/sentry/src/index.ts
- https://github.com/honojs/middleware/issues/943
- https://github.com/getsentry/sentry-javascript/tree/master/packages/cloudflare
- additional transactional emails
- consider `projectName` and `projectSlug` or `projectIdentifier`?
## License
UNLICENSED PROPRIETARY © [Agentic](https://x.com/transitive_bs)
To stay up to date or learn more, follow [@transitive_bs](https://x.com/transitive_bs) on Twitter.