mcp-hello-world
Implements structured output using LangChain's methodology for the polyglot tool, enabling validated JSON responses with language details.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
mcp-hello-world
A learning-focused MCP server that demonstrates how the Model Context Protocol works.
What is MCP?
MCP (Model Context Protocol) is a standard that lets AI assistants like Claude use external tools. Think of it like a plugin system:
You build a server that offers tools
Claude connects to your server
Claude can now call your tools during conversations
This project is a minimal example with two tools that show a learning progression.
Related MCP server: MCP Utility Server
What Does This Server Do?
It has two tools:
Tool | Input | Output | Purpose |
| (none) |
| Minimal static example |
| A greeting in any language | Structured JSON with language info | Shows LangChain + structured output |
The hello tool is intentionally simple - it's about understanding how MCP works. The polyglot tool builds on that by calling an external LLM.
Project Structure
mcp-hello-world/
├── src/
│ └── index.ts # The MCP server
├── docs/
│ ├── langchain-polyglot-tool.md # LangChain basics
│ └── structured-output.md # Structured output with Zod
├── dist/ # Compiled JavaScript (generated by build)
├── package.json # Project dependencies
└── tsconfig.json # TypeScript configurationHow to Build
npm install # Install dependencies
npm run build # Compile TypeScript to JavaScriptHow to Use With Claude
To connect this server to Claude, add it to your MCP configuration.
For Claude Code (CLI):
Add to ~/.claude/claude_desktop_config.json:
{
"mcpServers": {
"hello-world": {
"command": "node",
"args": ["/full/path/to/mcp-hello-world/dist/index.js"]
}
}
}For Claude Desktop App:
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"hello-world": {
"command": "node",
"args": ["/full/path/to/mcp-hello-world/dist/index.js"]
}
}
}After adding the configuration, restart Claude. The hello tool will be available.
How MCP Communication Works
┌─────────────────┐ ┌─────────────────┐
│ │ stdin │ │
│ Claude │────────▶│ MCP Server │
│ │◀────────│ │
│ │ stdout │ │
└─────────────────┘ └─────────────────┘Claude launches the server as a subprocess
Claude sends JSON messages to the server via stdin
The server processes requests and sends responses via stdout
This back-and-forth follows the MCP protocol specification
Key Concepts
Server
The main object that manages everything. It:
Registers available tools
Handles incoming requests
Routes tool calls to handler functions
Tool
A function that Claude can call. Each tool has:
Name: How Claude identifies it (e.g., "hello")
Description: Helps Claude know when to use it
Parameters: What inputs it accepts (our tool has none)
Handler: The code that runs when called
Transport
How the server communicates. We use StdioServerTransport which means:
Input comes from stdin
Output goes to stdout
Claude runs the server as a subprocess
This is the standard approach for local MCP servers.
The Polyglot Tool
The polyglot tool demonstrates LangChain's structured output feature. Send a greeting in any language, get back validated JSON with language details.
Input:
"bonjour"Output:
{
"detectedLanguage": "French",
"greeting": "bonjour",
"worldTranslation": "monde",
"languageFamily": "Romance"
}Requirements: The polyglot tool needs an ANTHROPIC_API_KEY environment variable. This project uses Teller to inject secrets:
teller run -- npm startGreetings for Testing
The worldTranslation field in the response:
Language | Greeting | worldTranslation |
English | hello | world |
Spanish | hola | mundo |
French | bonjour | monde |
German | hallo | Welt |
Italian | ciao | mondo |
Portuguese | olá | mundo |
Japanese | こんにちは | 世界 |
Korean | 안녕하세요 | 세계 |
Chinese | 你好 | 世界 |
Russian | привет | мир |
Arabic | مرحبا | عالم |
Hindi | नमस्ते | दुनिया |
Dutch | hallo | wereld |
Swedish | hej | värld |
Greek | γεια | κόσμος |
For a deeper dive into how this tool works:
docs/langchain-polyglot-tool.md - LangChain basics
docs/structured-output.md - Structured output with Zod validation
Learning More
The src/index.ts file is heavily documented with explanations of each piece. Start there to understand the code.
For the full MCP specification: https://modelcontextprotocol.io/
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseBqualityDmaintenanceA learning-focused MCP server that demonstrates how to build arithmetic tools for AI assistants, currently featuring addition functionality with structured input/output.114 npmMIT
- FlicenseNot gradedqualityDmaintenanceA beginner-friendly MCP server offering time, math, internet quotes, dad jokes, file tools, web search, and optional LangChain agent.-
- FlicenseNot gradedqualityDmaintenanceA custom MCP server with 6 utility tools (file search, file reading, math calculation, JSON formatting, time query, system info) that demonstrates MCP protocol workflow and integrates with LangChain agents.-
- AlicenseNot gradedqualityDmaintenanceConfigurable MCP server that lets you define LLM-powered tools via JSON, enabling easy integration of multiple models (GPT, Gemini, Claude, etc.) as MCP tools without writing Python code.6MIT