mcp-blanko
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-blanko use hello-world to greet John"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-blanko
A template for building your own MCP (Model Context Protocol) server in TypeScript.
Includes placeholder tools, dual transport support (stdio + SSE), and a simple pattern for adding your own tools.
Quick Start
npm install
npm run build
npm startRelated MCP server: TypeScript MCP Server Boilerplate
Project Structure
src/
├── index.ts # Entry point — transport selection
├── server.ts # Server setup & tool registration
└── tools/
├── hello-world.ts # Simple greeting tool
├── complex-input.ts # Rich input schema with error handling
├── async-operation.ts # Simulated long-running task
├── external-api.ts # Placeholder for API integration
└── file-operation.ts # Local file read/writeAdding Your Own Tool
Create a new file in
src/tools/:
import { z } from "zod";
import type { ToolDefinition } from "../server.js";
export const myTool: ToolDefinition = {
name: "my_tool",
description: "What this tool does",
inputSchema: z.object({
param: z.string().describe("Description of param"),
}),
handler: async ({ param }) => {
return {
content: [{ type: "text", text: `Result: ${param}` }],
};
},
};Register it in
src/server.ts:
import { myTool } from "./tools/my-tool.js";
const tools: ToolDefinition[] = [
// ... existing tools
myTool,
];Build and run:
npm run build && npm startTransport Modes
stdio (default)
npm start
# or
npm run start:stdioSSE (HTTP)
npm run start:sse
# or
MCP_PORT=3001 node dist/index.js --transport=sseThe SSE endpoint will be available at http://localhost:3001/sse.
Configuration
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"mcp-blanko": {
"command": "node",
"args": ["/absolute/path/to/mcp-blanko/dist/index.js"]
}
}
}Claude Code
claude mcp add mcp-blanko node /absolute/path/to/mcp-blanko/dist/index.jsDocker Deployment
Build and run with Docker Compose:
docker compose up -dThe SSE endpoint will be available at http://localhost:3001/sse. Put a reverse proxy (e.g., nginx, Caddy, Traefik) in front for HTTPS.
Or build and run manually:
docker build -t mcp-blanko .
docker run -d -p 3001:3001 mcp-blankoEnvironment Variables
Variable | Default | Description |
|
| Transport mode: |
|
| HTTP port for SSE transport |
|
| Base directory for the file operation tool |
License
MIT
Available Tools
5 toolsfetch_dataC
Placeholder for a tool that calls an external API. Replace the handler with your own API logic.
Inputs: endpoint (required), method.
hello_worldA
A simple greeting tool. Takes a name and returns a personalized greeting.
Inputs: name (required).
long_running_taskC
Demonstrates an async tool that simulates a long-running operation (e.g., data processing, report generation).
Inputs: taskName (required), durationMs.
manage_fileC
Demonstrates reading and writing local files. Operates within a configurable base directory.
Inputs: action (required), filePath (required), content.
process_orderD
Demonstrates a tool with a rich input schema: nested objects, enums, optional fields, and error handling.
Inputs: items (required), customer (required), notes, priority.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool has a distinct purpose (API call, greeting, async task, file management, order processing), so there is little risk of confusion. However, 'fetch_data' is vaguely named and could overlap with 'long_running_task' in concept.
All tool names use lowercase with underscores, following a consistent pattern. The names are descriptive and predictable.
With 5 tools, the count is reasonable for a small demonstration server. It is slightly below the typical 3-15 range for a focused domain, but acceptable for a placeholder set.
The tools are unrelated demonstrations covering disparate domains (API, greeting, file I/O, order processing). There is no coherent domain, so coverage is severely incomplete for any real-world use case.
Maintenance
Related MCP Connectors
A simple Typescript MCP server built using the official MCP Typescript SDK and smithery/cli. This…
A TypeScript MCP server for Home Assistant, enabling programmatic management of entities, automati…
Primarily to be used as a template repository for developing MCP servers with FastMCP in Python, P…
Kickstart development with a customizable TypeScript template featuring sample tools for greeting,…
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA production-ready Model Context Protocol server template in TypeScript that enables building MCP servers with dynamic tool registration, dual transport (stdio + HTTP), and pluggable authentication.7 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides a starting template for building MCP servers with TypeScript, including examples of tools and resources to accelerate development.ISC
- AlicenseNot gradedqualityDmaintenanceA minimal TypeScript MCP server template with example tool, Zod validation, stdio transport, and dotenv setup.23 npmMIT
- AlicenseCqualityDmaintenanceA TypeScript template for building MCP servers with placeholder tools and dual transport support (stdio + SSE).5MIT