# 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
**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
- **do I just ditch the public REST interface and focus on MCP?**
- 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**
- how to guarantee that the request is coming from agentic?
- `_meta` for tool calls
- _still need a way of doing this for initial connection requests_
- mcp auth provider support
- SSE support? (no; post-mvp if at all; only support [streamable http](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#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
- first-party deployment hosting
- auth
- custom auth provider configs for projects/deployments
- 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
- add support for custom headers on responses
- `@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`?
- handle or validate against dynamic MCP origin tools
- allow config name to be `project-name` or `@namespace/project-name`?
## 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.