Build Status Prettier Code Formatting

# Agentic ## API Gateway - **MCP**: `https://gateway.agentic.so/@{username}/{project-name}/mcp` - **HTTP**: `GET/POST` `https://gateway.agentic.so/@{username}/{project-name}/{tool-name}` ## TODO: MVP - **website** - marketing landing page - webapp - consider a PrettyJson component which displays json but links to resources - stripe - stripe checkout for changing plans? (need to at least be able to upgrade) - should we bypass stripe for `free` plans to increase conversions? - handle browser back/forward with `?next=` - add some social proof to signup page - **API gateway** - oauth flow - https://docs.scalekit.com/guides/mcp/oauth - custom oauth flow might need to use separate domains per project instead of separate pathnames? - since the .well-known routes and standard oauth 2.1 routes are all at the top-level? - **e2e tests for usage tracking and reporting** - marketplace - need a different flag besides `private` for inclusion on the marketplace - projects may be public but not accepted into the marketplace, and that's okay? - => **punt on this for mvp** - docs - main readme - sub readmes - hosted docs - merge with current agentic repo - publish packages to npm - api - deploy to prod - database - consider using [neon serverless driver](https://orm.drizzle.team/docs/connect-neon) for production - can this also be used locally? - may need to update our `drizzle-orm` fork - simplify `AgenticToolClient` and only require one package per TS LLM SDK - `createAISDKToolsFromIdentifier(projectIdentifier)` ## TODO: Post-MVP - **website** - llms.txt and llms.txt for all projects - first-party deployment hosting - api gateway stress tests - 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** - **do we just ditch the public REST interface and focus on MCP?** - 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?) - signed requests - add support for custom headers on responses - add ability to only report stripe usage on non-cached requests - add support for ToolConfig.cost defaulting to 1, to easily support tools which cost multiple "credits" - extra `Sentry` instrumentation (`setUser`, `captureMessage`, etc) - test handling of binary bodies and responses - improve logger vs console for non-hono path and util methods - consider replacing `eventId` with uuids for `requestId`? - openapi origin kitchen sink - add more test cases to e2e tests for diff content types - mcp origin kitchen sink - add support for `/sse`? need to test with claude desktop - test handling of resources - `@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 - **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_ - _=> ask in the official mcp developers discord_ - mcp auth provider support - test binary bodies / responses / mcp resources - resources - prompts - other MCP features? - 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`? - upgrade to zod v4 - decide whether deployment fields like `defaultRateLimit` and others should be generated and stored in the db, or should be inferred based on `undefined` values - support multiple rate-limits by slug - RateLimit-Policy: "burst";q=100;w=60,"daily";q=1000;w=86400 - https://datatracker.ietf.org/doc/draft-ietf-httpapi-ratelimit-headers/ - make json `$schema` public for `agentic.config.json` ## Connect To stay up to date or learn more, follow [@transitive_bs](https://x.com/transitive_bs) on Twitter.