One-line answer. MCP (Model Context Protocol) is the USB-C of AI tools — a standard way for any AI app (Claude Desktop, Claude Code, etc.) to call any tool you build, without each pair needing custom integration.
Why MCP matters
Before MCP, every time you wanted an AI assistant to call a tool (read your inbox, query your database, control your local files), the AI app's developers had to ship a custom integration. ChatGPT had ChatGPT plugins. Claude had its own plugin format. Cursor had its own. Each tool needed N integrations to work in N AI apps.
MCP changes that. You write the tool once. Any MCP-compatible AI app can use it — Claude Desktop, Claude Code, Cursor, future OpenAI clients, etc.
What an MCP server looks like (concretely)
An MCP server is a tiny program that exposes resources (read-only data) and tools (callable functions) over a standard protocol. It speaks JSON-RPC over stdio (local) or HTTP+SSE (remote).
Example: a "filesystem" MCP server exposes:
read_file(path)— returns contentswrite_file(path, content)— writeslist_directory(path)— lists entries
When you ask Claude "summarise the README in this folder", Claude calls list_directory, finds README.md, calls read_file, then writes the summary. The AI doesn't have file access baked in — your server gives it that capability, exactly the way you've coded it.
Building your first MCP server (10 minutes)
Pre-requisites: Node.js 20+ and Claude Desktop or Claude Code installed.
npm init -y
npm install @modelcontextprotocol/sdk
Create server.js:
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
const server = new Server(
{ name: 'hello-india', version: '0.1.0' },
{ capabilities: { tools: {} } }
);
server.setRequestHandler('tools/list', async () => ({
tools: [{
name: 'greet_indian',
description: 'Returns a greeting in Hindi for a given name',
inputSchema: { type: 'object', properties: { name: { type: 'string' } }, required: ['name'] }
}]
}));
server.setRequestHandler('tools/call', async (req) => {
if (req.params.name === 'greet_indian') {
const n = req.params.arguments.name;
return { content: [{ type: 'text', text: `Namaste ${n} ji! Aap kaise hain?` }] };
}
throw new Error('Unknown tool');
});
const transport = new StdioServerTransport();
await server.connect(transport);
Register it with Claude Desktop in ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"hello-india": {
"command": "node",
"args": ["/absolute/path/to/server.js"]
}
}
}
Restart Claude Desktop. Open a new chat. Type "greet me in Hindi, I'm Amit". Watch Claude call your tool.
Real-world MCP servers worth shipping
If you want to build something genuinely useful (and showcase-able on your CV):
- SQL MCP for your college's MySQL database — let Claude answer "show me students with attendance < 75%"
- WhatsApp Business MCP using the official API — Claude can draft + send broadcasts
- Indian Railways MCP wrapping IRCTC's public endpoints — Claude can check PNR status, train availability
- NPTEL course MCP — search and recommend courses by topic
- UPSC PYQ MCP — search previous year questions by topic
- Govt scheme MCP wrapping data.gov.in — Claude can recommend schemes by user profile
Any of these makes a stand-out CV project for an SDE internship.
The bigger picture
MCP is being adopted by Anthropic, OpenAI (via their Apps SDK which is MCP-compatible), Cursor, Cline, Continue.dev, Block, Replit, Sourcegraph and others. If you ship one solid MCP server in 2026, you're early to a standard that's about to be everywhere. That's a rare window.
Learn more
- Techwave Academy — Claude Mastery (26 modules including a full MCP track)
- MCP tutorial — India edition
- Claude Code tutorial
- Official MCP docs: https://modelcontextprotocol.io
If you build one of the India-specific MCPs above, tweet at us — we'll feature it on Techwave Academy.