Enables deployment of the MCP server on Cloudflare's edge network, with support for persistent state management using Durable Objects and secure token storage with KV namespaces.
Provides user authentication through GitHub OAuth, enabling access control to MCP tools based on GitHub usernames. Also offers the 'userInfoOctokit' tool for interacting with GitHub user data.
mcp-os
A platform that provides hosted MCP servers for the world. Built with the vision to centralise the scattered world of MCP.
Features
TypeScript - For type safety and improved developer experience
Next.js - Full-stack React framework
TailwindCSS - Utility-first CSS for rapid UI development
shadcn/ui - Reusable UI components
Hono - Lightweight, performant server framework
tRPC - End-to-end type-safe APIs
Node.js - Runtime environment
Drizzle - TypeScript-first ORM
SQLite/Turso - Database engine
Authentication - Email & password authentication with Better Auth
Turborepo - Optimized monorepo build system
Biome - Linting and formatting
pnpm - Package manager
Related MCP server: GitHub MCP Server
Getting Started
First, install the dependencies:
Database Setup
This project uses SQLite with Drizzle ORM.
Start the local SQLite database:
Update your
.envfile in theapps/serverdirectory with the appropriate connection details if needed.Apply the schema to your database:
Then, run the development server:
Open http://localhost:3001 in your browser to see the web application. The API is running at http://localhost:3000.
Project Structure
Available Scripts
pnpm dev: Start all applications in development modepnpm build: Build all applicationspnpm dev:web: Start only the web applicationpnpm dev:server: Start only the serverpnpm check-types: Check TypeScript types across all appspnpm db:push: Push schema changes to databasepnpm db:studio: Open database studio UIcd apps/server && pnpm db:local: Start the local SQLite databasepnpm check: Run Biome formatting and linting