Skip to main content
Glama
imanelmzk

MCP Server

by imanelmzk

πŸ“‘ MCP Server - Model Context Protocol (Node.js + TypeScript) ✨ Author

Name: Imane Lmzk Project: MCP Server Learning Implementation

πŸ“Œ Overview

This project demonstrates a basic implementation of an MCP (Model Context Protocol) Server using Node.js and TypeScript.

The MCP server acts as a bridge between AI models and external tools/data sources, allowing structured communication via standardized protocols.

🧠 What is MCP?

Model Context Protocol (MCP) is a protocol designed to allow AI systems to:

Access external tools (APIs, databases, services) Retrieve structured data Execute actions in a controlled environment

πŸ‘‰ Think of MCP as:

A middleware layer between an AI model and real-world systems.

πŸ—οΈ Architecture Client (AI / App) β”‚ β–Ό MCP Server β”‚ β”œβ”€β”€ Tools (functions) β”œβ”€β”€ Resources (data) └── External APIs / DB βš™οΈ Tech Stack Node.js TypeScript Express (optional for HTTP transport) JSON-RPC / HTTP πŸ“‚ Project Structure mcp-server/ β”œβ”€β”€ src/ β”‚ β”œβ”€β”€ server.ts # MCP server entry point β”‚ β”œβ”€β”€ tools/ # Tool definitions β”‚ β”œβ”€β”€ resources/ # Data providers β”‚ └── types/ # Type definitions β”œβ”€β”€ package.json └── tsconfig.json πŸš€ Getting Started

  1. Install dependencies npm install

  2. Run the server npm run dev

Server runs on:

http://localhost:3000 πŸ”Œ MCP Core Concepts

  1. Tools

Tools are functions exposed to the AI.

Example:

export const getUser = async (id: number) => { return { id, name: "Imane" }; }; 2. Resources

Resources provide structured data.

export const users = [ { id: 1, name: "Imane" }, { id: 2, name: "Ali" } ]; 3. Requests (JSON-RPC style)

Example request:

{ "method": "tools/getUser", "params": { "id": 1 } } 4. Response { "result": { "id": 1, "name": "Imane" } } πŸ§ͺ Example Endpoint (Express) import express from "express"; import { getUser } from "./tools/getUser";

const app = express(); app.use(express.json());

app.post("/mcp", async (req, res) => { const { method, params } = req.body;

if (method === "tools/getUser") { const result = await getUser(params.id); return res.json({ result }); }

res.status(400).json({ error: "Unknown method" }); });

app.listen(3000, () => { console.log("MCP Server running on port 3000"); }); πŸ“‘ How MCP Works (Step-by-Step) Client sends a request MCP server interprets the method Calls the appropriate tool Returns structured response πŸ”— Use Cases AI assistants accessing databases Automation systems API orchestration Tool-based AI agents πŸ“ˆ Learning Goals Understand MCP architecture Build tool-based APIs Structure backend for AI interaction Practice TypeScript backend patterns πŸ”§ Useful Commands npm run dev # Start server npm run build # Compile TypeScript npm start # Run production build πŸ“„ License

MIT

🚧 Status

In Progress β€” Learning MCP concepts and real-world integration.

πŸ’‘ Final Insight

MCP is not just a server β€” it’s a design pattern for AI-integrated systems. Mastering it means understanding how AI interacts with real-world data and tools.

F
license - not found
-
quality - not tested
D
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

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/imanelmzk/Server_MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server