Login to your account
-- Enter your email below to login to your account -
+
Your API → Paid MCP, Instantly
@@ -30,7 +29,7 @@ export default function TheBestDamnLandingPageEver() {
{/* How it works section */}
-
+
How It Works
@@ -39,11 +38,11 @@ export default function TheBestDamnLandingPageEver() {
{/* Features section */}
-
+
Production-Ready and Extremely Flexible
-
+
Auth
@@ -68,21 +67,22 @@ export default function TheBestDamnLandingPageEver() {
- Monetization
+ Stripe Billing
Charge for your MCP products with a flexible, declarative pricing
model built on top of Stripe. Agentic supports almost any
- combination of fixed and usage-based billing models, both at the
- MCP level, at the tool-call level, and at the custom metric level
- (e.g., tokens, image transformations, etc).
+ combination of fixed and{' '}
+ usage-based billing models,
+ both at the MCP level, at the tool-call level, and at the custom
+ metric level (e.g., tokens, image transformations, etc).
- Support both MCP and HTTP
+ Support both MCP and HTTP
@@ -97,18 +97,30 @@ export default function TheBestDamnLandingPageEver() {
+
+
+ API keys
+
+
+
+ When a customer subscribes to your product, they're given a unique
+ API key. MCP URLs are appended with this API key to correlate
+ usage with their subscription. Customer HTTP tool calls use the
+ same API key as a standard HTTP Authorization header.
+
+
+
Rate-limiting
- Customize your MCP product with durable rate-limiting built on top
- of Cloudflare's global infrastructure. Create default rate-limits,
- change them based on a customer's subscribed pricing plan, and
- create custom tool-specific overrides, all with a simple,
- strongly-typed JSON config. REST assured that your origin API will
- be safe behind Agentic's robust API gateway.
+ All agentic products are protected by durable rate-limiting built
+ on top of Cloudflare's global infrastructure. Customize the
+ default rate-limits, change them based on a customer's pricing
+ plan, or create custom tool-specific overrides. REST assured that
+ your origin API will be safe behind Agentic's robust API gateway.
@@ -119,11 +131,11 @@ export default function TheBestDamnLandingPageEver() {
Opt-in to caching with familiar cache-control and{' '}
- stale-while-revalidate features. MCP tool calls include
- caching information in their _meta fields with symmetry
- to standard HTTP headers. All caching takes place in Cloudflare's
- global edge cache, and will only be enabled if you choose to
- enable it for your product or specific tools.
+ stale-while-revalidate options. MCP tool calls include
+ caching information in their _meta fields, providing
+ parity with standard HTTP headers. All caching takes place in
+ Cloudflare's global edge cache, and caching will only be enabled
+ if you choose to enable it for your product or individual tools.
@@ -133,9 +145,9 @@ export default function TheBestDamnLandingPageEver() {
- Agentic tracks usage-based billing and analytics at a fine-grained
- level, so you can understand how your customers are using your
- product.
+ Agentic tracks all tool calls for usage-based billing and
+ analytics at a fine-grained level, so you can drill in and deeply
+ understand how your customers are using your product.
@@ -149,7 +161,7 @@ export default function TheBestDamnLandingPageEver() {
time you make a change to your product's config, pricing, or docs,
a unique preview deployment is created for that change. This
enables instant rollbacks if there are problems with a deployment.
- Publish deployment publicly uses semantic versioning (
+ Publishing deployments publicly uses semantic versioning (
semver), so your customers can choose how to handle
breaking changes.
@@ -157,43 +169,42 @@ export default function TheBestDamnLandingPageEver() {
- And more!
+ That's just the start
- Checkout our docs for more details on
- Agentic's MCP API gateway.
+
+ Check out our docs
+ {' '}
+ for more details on Agentic's MCP API gateway.
{/* Marketplace section */}
-
-
+ {/*
+
MCP Marketplace
- Coming soon...
-
+
+ Coming soon...
+
+ */}
{/* Open source section */}
-
- Agentic is 100% Open Source!
+
+ Agentic is 100% Open Source
-
- Join the tens of thousands of TypeScript AI engineers who've{' '}
-
- starred the project on GitHub
-
- .{' '}
+
+ Open source is very dear to my heart, and I couldn't be happier that
+ Agentic is fully OSS. It's written in{' '}
+ TypeScript, stands on the
+ shoulders of infra giants (Vercel, Cloudflare, Postgres), and has a
+ small but vibrant developer community.{' '}
Check out the source on GitHub
-
- ,{' '}
-
- join our community on Discord
-
- , or{' '}
+ {' '}
+ or{' '}
ping me on Twitter
-
- .
+ {' '}
+ with questions / feedback.
+ {/* Social proof section */}
+
+
+ TODO: social proof
+
+
+ TODO
+
+
{/* CTA section */}
-
-
+
+
+ Deploy Your MCP Product Today
+
+
+ Join the AI gold rush && deploy your first MCP product today.
+
+
>
)
diff --git a/apps/web/src/app/signup/page.tsx b/apps/web/src/app/signup/page.tsx
index e612f0c2..c075130f 100644
--- a/apps/web/src/app/signup/page.tsx
+++ b/apps/web/src/app/signup/page.tsx
@@ -89,9 +89,6 @@ export default function SignupPage() {
>
Create an account
-
- Enter your info below to create an account
-
diff --git a/apps/web/src/components/github-star-counter.tsx b/apps/web/src/components/github-star-counter.tsx
index ebfc0824..75ff711b 100644
--- a/apps/web/src/components/github-star-counter.tsx
+++ b/apps/web/src/components/github-star-counter.tsx
@@ -2,7 +2,7 @@
import NumberFlow from '@number-flow/react'
import Link from 'next/link'
-import { useEffect, useState } from 'react'
+import { type ReactNode, useEffect, useState } from 'react'
import { GitHubIcon } from '@/icons/github'
import { githubUrl } from '@/lib/config'
@@ -13,7 +13,13 @@ import { Button } from './ui/button'
// TODO: fetch this dynamically
const numGitHubStars = 17_600
-export function GitHubStarCounter({ className }: { className?: string }) {
+export function GitHubStarCounter({
+ className,
+ children
+}: {
+ className?: string
+ children?: ReactNode
+}) {
const [numStars, setNumStars] = useState(0)
useEffect(() => {
@@ -35,9 +41,11 @@ export function GitHubStarCounter({ className }: { className?: string }) {
notation: 'compact',
roundingPriority: 'morePrecision'
}}
- suffix=' stars'
+ suffix={children ? undefined : ' stars'}
willChange
/>
+
+ {children}
)
diff --git a/apps/web/src/components/supply-side-cta.tsx b/apps/web/src/components/supply-side-cta.tsx
index 06d7c983..7b568e15 100644
--- a/apps/web/src/components/supply-side-cta.tsx
+++ b/apps/web/src/components/supply-side-cta.tsx
@@ -5,16 +5,22 @@ import Link from 'next/link'
import { HeroButton } from '@/components/hero-button'
import { Button } from '@/components/ui/button'
-import { calendarBookingUrl, docsQuickStartUrl } from '@/lib/config'
+import { GitHubIcon } from '@/icons/github'
+import { calendarBookingUrl, docsQuickStartUrl, githubUrl } from '@/lib/config'
import { useAgentic } from './agentic-provider'
+import { GitHubStarCounter } from './github-star-counter'
-export function SupplySideCTA() {
+export function SupplySideCTA({
+ variant = 'github'
+}: {
+ variant?: 'book-call' | 'github' | 'github-2'
+}) {
const ctx = useAgentic()
return (
-
+
-
+ {variant === 'github' ? (
+
+ ) : variant === 'github-2' ? (
+
+ ) : (
+
+ )}
)
}
diff --git a/readme.md b/readme.md
index dc6d614c..7347d9b3 100644
--- a/readme.md
+++ b/readme.md
@@ -21,6 +21,7 @@
- stripe billing portal
- 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
@@ -43,6 +44,7 @@
- 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
+- figure out the best OSS license for launch
## TODO: Post-MVP
+
How It Works
@@ -39,11 +38,11 @@ export default function TheBestDamnLandingPageEver() {
{/* Features section */}
-
+
Production-Ready and Extremely Flexible
-
+
Auth
@@ -68,21 +67,22 @@ export default function TheBestDamnLandingPageEver() {
- Monetization
+ Stripe Billing
Charge for your MCP products with a flexible, declarative pricing
model built on top of Stripe. Agentic supports almost any
- combination of fixed and usage-based billing models, both at the
- MCP level, at the tool-call level, and at the custom metric level
- (e.g., tokens, image transformations, etc).
+ combination of fixed and{' '}
+ usage-based billing models,
+ both at the MCP level, at the tool-call level, and at the custom
+ metric level (e.g., tokens, image transformations, etc).
- Support both MCP and HTTP
+ Support both MCP and HTTP
@@ -97,18 +97,30 @@ export default function TheBestDamnLandingPageEver() {
+
+
+ API keys
+
+
+
+ When a customer subscribes to your product, they're given a unique
+ API key. MCP URLs are appended with this API key to correlate
+ usage with their subscription. Customer HTTP tool calls use the
+ same API key as a standard HTTP Authorization header.
+
+
+
Rate-limiting
- Customize your MCP product with durable rate-limiting built on top
- of Cloudflare's global infrastructure. Create default rate-limits,
- change them based on a customer's subscribed pricing plan, and
- create custom tool-specific overrides, all with a simple,
- strongly-typed JSON config. REST assured that your origin API will
- be safe behind Agentic's robust API gateway.
+ All agentic products are protected by durable rate-limiting built
+ on top of Cloudflare's global infrastructure. Customize the
+ default rate-limits, change them based on a customer's pricing
+ plan, or create custom tool-specific overrides. REST assured that
+ your origin API will be safe behind Agentic's robust API gateway.
@@ -119,11 +131,11 @@ export default function TheBestDamnLandingPageEver() {
Opt-in to caching with familiar cache-control and{' '}
- stale-while-revalidate features. MCP tool calls include
- caching information in their _meta fields with symmetry
- to standard HTTP headers. All caching takes place in Cloudflare's
- global edge cache, and will only be enabled if you choose to
- enable it for your product or specific tools.
+ stale-while-revalidate options. MCP tool calls include
+ caching information in their _meta fields, providing
+ parity with standard HTTP headers. All caching takes place in
+ Cloudflare's global edge cache, and caching will only be enabled
+ if you choose to enable it for your product or individual tools.
@@ -133,9 +145,9 @@ export default function TheBestDamnLandingPageEver() {
- Agentic tracks usage-based billing and analytics at a fine-grained
- level, so you can understand how your customers are using your
- product.
+ Agentic tracks all tool calls for usage-based billing and
+ analytics at a fine-grained level, so you can drill in and deeply
+ understand how your customers are using your product.
@@ -149,7 +161,7 @@ export default function TheBestDamnLandingPageEver() {
time you make a change to your product's config, pricing, or docs,
a unique preview deployment is created for that change. This
enables instant rollbacks if there are problems with a deployment.
- Publish deployment publicly uses semantic versioning (
+ Publishing deployments publicly uses semantic versioning (
semver), so your customers can choose how to handle
breaking changes.
@@ -157,43 +169,42 @@ export default function TheBestDamnLandingPageEver() {
- And more!
+ That's just the start
- Checkout our docs for more details on
- Agentic's MCP API gateway.
+
+ Check out our docs
+ {' '}
+ for more details on Agentic's MCP API gateway.
{/* Marketplace section */}
-
-
+ {/*
+
MCP Marketplace
- Coming soon...
-
+
+ Coming soon...
+
+ */}
{/* Open source section */}
-
- Agentic is 100% Open Source!
+
+ Agentic is 100% Open Source
-
- Join the tens of thousands of TypeScript AI engineers who've{' '}
-
- starred the project on GitHub
-
- .{' '}
+
+ Open source is very dear to my heart, and I couldn't be happier that
+ Agentic is fully OSS. It's written in{' '}
+ TypeScript, stands on the
+ shoulders of infra giants (Vercel, Cloudflare, Postgres), and has a
+ small but vibrant developer community.{' '}
Check out the source on GitHub
-
- ,{' '}
-
- join our community on Discord
-
- , or{' '}
+ {' '}
+ or{' '}
ping me on Twitter
-
- .
+ {' '}
+ with questions / feedback.
+ {/* Social proof section */}
+
+
+ TODO: social proof
+
+
+ TODO
+
+
{/* CTA section */}
-
-
+
+
+ Deploy Your MCP Product Today
+
+
+ Join the AI gold rush && deploy your first MCP product today.
+
+
>
)
diff --git a/apps/web/src/app/signup/page.tsx b/apps/web/src/app/signup/page.tsx
index e612f0c2..c075130f 100644
--- a/apps/web/src/app/signup/page.tsx
+++ b/apps/web/src/app/signup/page.tsx
@@ -89,9 +89,6 @@ export default function SignupPage() {
>
Create an account
-
- Enter your info below to create an account
-
diff --git a/apps/web/src/components/github-star-counter.tsx b/apps/web/src/components/github-star-counter.tsx
index ebfc0824..75ff711b 100644
--- a/apps/web/src/components/github-star-counter.tsx
+++ b/apps/web/src/components/github-star-counter.tsx
@@ -2,7 +2,7 @@
import NumberFlow from '@number-flow/react'
import Link from 'next/link'
-import { useEffect, useState } from 'react'
+import { type ReactNode, useEffect, useState } from 'react'
import { GitHubIcon } from '@/icons/github'
import { githubUrl } from '@/lib/config'
@@ -13,7 +13,13 @@ import { Button } from './ui/button'
// TODO: fetch this dynamically
const numGitHubStars = 17_600
-export function GitHubStarCounter({ className }: { className?: string }) {
+export function GitHubStarCounter({
+ className,
+ children
+}: {
+ className?: string
+ children?: ReactNode
+}) {
const [numStars, setNumStars] = useState(0)
useEffect(() => {
@@ -35,9 +41,11 @@ export function GitHubStarCounter({ className }: { className?: string }) {
notation: 'compact',
roundingPriority: 'morePrecision'
}}
- suffix=' stars'
+ suffix={children ? undefined : ' stars'}
willChange
/>
+
+ {children}
)
diff --git a/apps/web/src/components/supply-side-cta.tsx b/apps/web/src/components/supply-side-cta.tsx
index 06d7c983..7b568e15 100644
--- a/apps/web/src/components/supply-side-cta.tsx
+++ b/apps/web/src/components/supply-side-cta.tsx
@@ -5,16 +5,22 @@ import Link from 'next/link'
import { HeroButton } from '@/components/hero-button'
import { Button } from '@/components/ui/button'
-import { calendarBookingUrl, docsQuickStartUrl } from '@/lib/config'
+import { GitHubIcon } from '@/icons/github'
+import { calendarBookingUrl, docsQuickStartUrl, githubUrl } from '@/lib/config'
import { useAgentic } from './agentic-provider'
+import { GitHubStarCounter } from './github-star-counter'
-export function SupplySideCTA() {
+export function SupplySideCTA({
+ variant = 'github'
+}: {
+ variant?: 'book-call' | 'github' | 'github-2'
+}) {
const ctx = useAgentic()
return (
-
+
-
+ {variant === 'github' ? (
+
+ ) : variant === 'github-2' ? (
+
+ ) : (
+
+ )}
)
}
diff --git a/readme.md b/readme.md
index dc6d614c..7347d9b3 100644
--- a/readme.md
+++ b/readme.md
@@ -21,6 +21,7 @@
- stripe billing portal
- 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
@@ -43,6 +44,7 @@
- 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
+- figure out the best OSS license for launch
## TODO: Post-MVP
+
Production-Ready and Extremely Flexible
-
+
Auth
@@ -68,21 +67,22 @@ export default function TheBestDamnLandingPageEver() {
- Monetization
+ Stripe Billing
Charge for your MCP products with a flexible, declarative pricing
model built on top of Stripe. Agentic supports almost any
- combination of fixed and usage-based billing models, both at the
- MCP level, at the tool-call level, and at the custom metric level
- (e.g., tokens, image transformations, etc).
+ combination of fixed and{' '}
+ usage-based billing models,
+ both at the MCP level, at the tool-call level, and at the custom
+ metric level (e.g., tokens, image transformations, etc).
- Support both MCP and HTTP
+ Support both MCP and HTTP
@@ -97,18 +97,30 @@ export default function TheBestDamnLandingPageEver() {
+
+
+ API keys
+
+
+
+ When a customer subscribes to your product, they're given a unique
+ API key. MCP URLs are appended with this API key to correlate
+ usage with their subscription. Customer HTTP tool calls use the
+ same API key as a standard HTTP Authorization header.
+
+
+
Rate-limiting
- Customize your MCP product with durable rate-limiting built on top
- of Cloudflare's global infrastructure. Create default rate-limits,
- change them based on a customer's subscribed pricing plan, and
- create custom tool-specific overrides, all with a simple,
- strongly-typed JSON config. REST assured that your origin API will
- be safe behind Agentic's robust API gateway.
+ All agentic products are protected by durable rate-limiting built
+ on top of Cloudflare's global infrastructure. Customize the
+ default rate-limits, change them based on a customer's pricing
+ plan, or create custom tool-specific overrides. REST assured that
+ your origin API will be safe behind Agentic's robust API gateway.
@@ -119,11 +131,11 @@ export default function TheBestDamnLandingPageEver() {
Opt-in to caching with familiar cache-control and{' '}
- stale-while-revalidate features. MCP tool calls include
- caching information in their _meta fields with symmetry
- to standard HTTP headers. All caching takes place in Cloudflare's
- global edge cache, and will only be enabled if you choose to
- enable it for your product or specific tools.
+ stale-while-revalidate options. MCP tool calls include
+ caching information in their _meta fields, providing
+ parity with standard HTTP headers. All caching takes place in
+ Cloudflare's global edge cache, and caching will only be enabled
+ if you choose to enable it for your product or individual tools.
@@ -133,9 +145,9 @@ export default function TheBestDamnLandingPageEver() {
- Agentic tracks usage-based billing and analytics at a fine-grained
- level, so you can understand how your customers are using your
- product.
+ Agentic tracks all tool calls for usage-based billing and
+ analytics at a fine-grained level, so you can drill in and deeply
+ understand how your customers are using your product.
@@ -149,7 +161,7 @@ export default function TheBestDamnLandingPageEver() {
time you make a change to your product's config, pricing, or docs,
a unique preview deployment is created for that change. This
enables instant rollbacks if there are problems with a deployment.
- Publish deployment publicly uses semantic versioning (
+ Publishing deployments publicly uses semantic versioning (
semver), so your customers can choose how to handle
breaking changes.
@@ -157,43 +169,42 @@ export default function TheBestDamnLandingPageEver() {
- And more!
+ That's just the start
- Checkout our docs for more details on
- Agentic's MCP API gateway.
+
+ Check out our docs
+ {' '}
+ for more details on Agentic's MCP API gateway.
Auth
@@ -68,21 +67,22 @@ export default function TheBestDamnLandingPageEver() {
- Monetization
+ Stripe Billing
Charge for your MCP products with a flexible, declarative pricing
model built on top of Stripe. Agentic supports almost any
- combination of fixed and usage-based billing models, both at the
- MCP level, at the tool-call level, and at the custom metric level
- (e.g., tokens, image transformations, etc).
+ combination of fixed and{' '}
+ usage-based billing models,
+ both at the MCP level, at the tool-call level, and at the custom
+ metric level (e.g., tokens, image transformations, etc).
- Support both MCP and HTTP
+ Support both MCP and HTTP
@@ -97,18 +97,30 @@ export default function TheBestDamnLandingPageEver() {
+
+
+ API keys
+
+
+
+ When a customer subscribes to your product, they're given a unique
+ API key. MCP URLs are appended with this API key to correlate
+ usage with their subscription. Customer HTTP tool calls use the
+ same API key as a standard HTTP Authorization header.
+
+
+
Rate-limiting
- Customize your MCP product with durable rate-limiting built on top
- of Cloudflare's global infrastructure. Create default rate-limits,
- change them based on a customer's subscribed pricing plan, and
- create custom tool-specific overrides, all with a simple,
- strongly-typed JSON config. REST assured that your origin API will
- be safe behind Agentic's robust API gateway.
+ All agentic products are protected by durable rate-limiting built
+ on top of Cloudflare's global infrastructure. Customize the
+ default rate-limits, change them based on a customer's pricing
+ plan, or create custom tool-specific overrides. REST assured that
+ your origin API will be safe behind Agentic's robust API gateway.
@@ -119,11 +131,11 @@ export default function TheBestDamnLandingPageEver() {
- Monetization + Stripe Billing
Charge for your MCP products with a flexible, declarative pricing model built on top of Stripe. Agentic supports almost any - combination of fixed and usage-based billing models, both at the - MCP level, at the tool-call level, and at the custom metric level - (e.g., tokens, image transformations, etc). + combination of fixed and{' '} + usage-based billing models, + both at the MCP level, at the tool-call level, and at the custom + metric level (e.g., tokens, image transformations, etc).
- Support both MCP and HTTP + Support both MCP and HTTP
@@ -97,18 +97,30 @@ export default function TheBestDamnLandingPageEver() {
+ API keys +
+ ++ When a customer subscribes to your product, they're given a unique + API key. MCP URLs are appended with this API key to correlate + usage with their subscription. Customer HTTP tool calls use the + same API key as a standard HTTP Authorization header. +
+Rate-limiting
- Customize your MCP product with durable rate-limiting built on top - of Cloudflare's global infrastructure. Create default rate-limits, - change them based on a customer's subscribed pricing plan, and - create custom tool-specific overrides, all with a simple, - strongly-typed JSON config. REST assured that your origin API will - be safe behind Agentic's robust API gateway. + All agentic products are protected by durable rate-limiting built + on top of Cloudflare's global infrastructure. Customize the + default rate-limits, change them based on a customer's pricing + plan, or create custom tool-specific overrides. REST assured that + your origin API will be safe behind Agentic's robust API gateway.
Opt-in to caching with familiar cache-control and{' '} - stale-while-revalidate features. MCP tool calls include - caching information in their _meta fields with symmetry - to standard HTTP headers. All caching takes place in Cloudflare's - global edge cache, and will only be enabled if you choose to - enable it for your product or specific tools. + stale-while-revalidate options. MCP tool calls include + caching information in their _meta fields, providing + parity with standard HTTP headers. All caching takes place in + Cloudflare's global edge cache, and caching will only be enabled + if you choose to enable it for your product or individual tools.
- Agentic tracks usage-based billing and analytics at a fine-grained - level, so you can understand how your customers are using your - product. + Agentic tracks all tool calls for usage-based billing and + analytics at a fine-grained level, so you can drill in and deeply + understand how your customers are using your product.
- And more! + That's just the start
- Checkout our docs for more details on - Agentic's MCP API gateway. + + Check out our docs + {' '} + for more details on Agentic's MCP API gateway.
+ {/*
+
MCP Marketplace
- Coming soon...
-
+
MCP Marketplace
-Coming soon...
-+ Coming soon... +
+
- Agentic is 100% Open Source!
+
+ Agentic is 100% Open Source
-
- Join the tens of thousands of TypeScript AI engineers who've{' '} - - starred the project on GitHub - - .{' '} +
+ Open source is very dear to my heart, and I couldn't be happier that + Agentic is fully OSS. It's written in{' '} + TypeScript, stands on the + shoulders of infra giants (Vercel, Cloudflare, Postgres), and has a + small but vibrant developer community.{' '} Check out the source on GitHub - - ,{' '} - - join our community on Discord - - , or{' '} + {' '} + or{' '} ping me on Twitter - - . + {' '} + with questions / feedback.
+ TODO: social proof +
+ +TODO
++ Deploy Your MCP Product Today +
+ +Join the AI gold rush && deploy your first MCP product today.
+ +Create an account
-- Enter your info below to create an account -