mcp-hello-world
Implements structured output using LangChain's methodology for the polyglot tool, enabling validated JSON responses with language details.
Click on "Install 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-hello-worlddetect the language of 'hola'"
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-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: SampleMCP
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/
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/wiggitywhitney/mcp-hello-world'
If you have feedback or need assistance with the MCP directory API, please join our Discord server