From empty directory to a production MCP server your team can call from Claude Desktop — with OAuth, rate limits, and monetization ready to switch on.
This is a hands-on walkthrough. In 30 minutes, we'll go from an empty directory to a production MCP server that lets Claude Desktop query your Notion workspace, with OAuth in front, rate limits behind, and monetization ready to switch on. Grab a Notion integration token before you start.
Install Cognoverge globally, or use npx.
$ npm install -g @cognoverge/cli
$ cognoverge loginWe ship an official Notion template. Use it as the starting point; the tools it exposes are already the ones most authors want.
$ cognoverge init notion-mcp --from notion
$ cd notion-mcpOpen src/server.ts. The template exposes four tools:search, page.get, page.create, and page.append. Every tool signature includes an input schema and a handler that receives a validated user token.
Set it as a secret so it's encrypted at rest and never appears in logs.
$ cognoverge secrets set NOTION_TOKEN$ cognoverge deploy
✓ Bundled 6.1 kB
✓ Provisioned https://notion.<you>.cognoverge.dev
✓ OAuth: Google, GitHub, magic-link
✓ Rate limits, audit log, p95 metrics live
✓ Live in 22.4s$ cognoverge add notion-mcp --client=claudeRestart Claude Desktop. In a new chat, click the paperclip and pick the notion-mcp server. Claude will trigger OAuth (Google by default) and, once you accept, the tools become available.
Ask Claude something like "search Notion for 'Q3 roadmap' and summarize what you find." Watch the logs stream in another terminal:
$ cognoverge logs --tailTwo commands and Stripe Connect onboarding.
$ cognoverge monetize enable
$ cognoverge monetize price search 0.001Everything in this post runs in the platform we built. Free forever tier. Deploy in 30 seconds.