Overview
What is Bun-based MCP Server?
Bun-based MCP Server is a minimal Model Context Protocol (MCP) server implemented with Bun, TypeScript, and the @modelcontextprotocol/sdk package. It demonstrates basic MCP functionality including a sample tool (add) for adding two numbers and dynamic tool loading from a (mocked) PostgreSQL database.
How to use Bun-based MCP Server?
Install Bun, then run bun install to install dependencies. Start the server with bun run src/index.ts; it listens for MCP requests via stdio. Lint with bun run lint and type-check with bun run tsc.
Key features of Bun-based MCP Server
- Minimal MCP server built with Bun and TypeScript
- Uses
StdioServerTransportfor local testing - Strict TypeScript and ESLint configuration
- Example
addtool (returns sum of two numbers) - Dynamic tool loading simulated from a PostgreSQL database
Use cases of Bun-based MCP Server
- Learning how to build an MCP server with Bun
- Rapid prototyping of MCP tools before production deployment
- Testing MCP integrations locally via stdio transport
- Exploring dynamic tool registration from a database
FAQ from Bun-based MCP Server
What runtime does Bun-based MCP Server require?
It requires Bun as the JavaScript runtime.
How does the server handle MCP requests?
It uses StdioServerTransport, meaning it communicates over standard input/output for local testing.
Can I add my own tools to the server?
Yes. The function load_tools_from_db in src/index.ts is a placeholder that simulates loading tool definitions and handlers from a PostgreSQL database. Replace its implementation with real database logic to add your own tools.
Does the server include a real PostgreSQL connection?
No. The README explicitly notes that the tool-loading function is mocked. You must replace it with actual database logic if needed.
What is the example tool provided?
The add tool takes two numbers (a and b) and returns their sum as the result property.