Data Engineering Tutor MCP Server

by scriptstar

Not rated
GitHub

About

A tutor for Data Engineering that provides personalized updates on concepts, patterns, and technologies.

Details

Author
scriptstar
Categories
Developer Tools

Setup

Install Data Engineering Tutor MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/scriptstar/de-mcp-server

Follow the installation instructions in the repository README, then restart your MCP client.

A tutor for Data Engineering that provides personalized updates on concepts, patterns, and technologies.

This repo contains a simple Model Context Protocol (MCP) server built with Node.js and TypeScript. It acts as a "Data Engineering Tutor," providing personalized updates about Data Engineering concepts, patterns, and technologies to a connected AI client.

This server demonstrates key MCP concepts: definingResources,Tools, andPromptsto create a stateful, interactive agent helper.

- Node.js (v18 or later recommended)
- npm(or your preferred Node.js package manager likeyarnorpnpm)
- An AI client capable of connecting to an MCP server (e.g., Cursor, Claude desktop app)
- AnOpenRouter API Key(for fetching live Data Engineering updates via Perplexity)

# If you haven't already # git clone <repository-url> # cd <repository-directory>

Prepare API Key:Thede_tutor_get_updatestool requires an OpenRouter API key.

- Obtain your key fromOpenRouter.
- Create a.envfile in the project root (you can copy.env.example).
- Add your key to the.envfile:

OPENROUTER_API_KEY=sk-or-xxxxxxxxxxxxxxxxxxxxxxxxxx

Build the Server:Compile the TypeScript code.

You can run the server directly using Node:

Alternatively, configure your MCP client (like Cursor or the Claude desktop app) to launch the server. The server name isde-tutorand the binary name (if needed for client config) is alsode-tutor.

Example Client Configuration (e.g., for Claude Desktop):

{ "mcpServers": { "de-tutor": { "command": "node", "args": ["/full/path/to/your/project/build/index.js"], "env": { "OPENROUTER_API_KEY": "sk-or-xxxxxxxxxxxxxxxxxxxxxxxxxx" } } } }

(Ensure the path inargsis the correctabsolute pathto the builtindex.jsfile on your system. You might not need theenvsection here if you are already using the.envfile, as the server loads it directly viadotenv.)

Cursoris an AI-first code editor that can act as an MCP client. Setting up this server with Cursor requires configuring the server launch and potentially setting up a Project Rule for the guidance prompt, although Cursor might also pick up the server-provided prompt.

- Go toCursor Settings>MCP>Add new global MCP server.
- Paste in the same JSON as the example client configuration above, ensuring the path tobuild/index.jsis correct for your system.

(Optional) Create a Cursor Project Rule for the Prompt:If you prefer explicit rules or find Cursor isn't using the server's prompt automatically, you can provide the guidance using Cursor'sProject Rulesfeature.

-

Create the directory.cursor/rulesin your project root if it doesn't exist.

Create a file inside it namedde-tutor.rule(or any.rulefilename).

Paste the following guidance text intode-tutor.rule:

You are a helpful assistant connecting to a Data Engineering knowledge server. Your goal is to provide the user with personalized updates about new Data Engineering concepts, patterns, and technologies they haven't encountered yet. Available Tools: 1. de_tutor_get_updates: Fetches recent general news and articles about Data Engineering. Use this first to see what's new. 2. de_tutor_read_memory: Checks which Data Engineering concepts the user already knows based on their stored knowledge profile. 3. de_tutor_write_memory: Updates the user's profile to mark whether they have learned or already know a specific Data Engineering concept mentioned in an update. Your Workflow: 1. Call de_tutor_get_updates to discover recent Data Engineering developments. 2. Call de_tutor_read_memory to understand the user's current knowledge base. 3. Present the new developments to the user, highlighting things they likely don't know. 4. If the user confirms they know a concept or have learned it, call de_tutor_write_memory to update their profile. Be concise and focus on delivering relevant, new information tailored to the user's existing knowledge.

- Ensure thede-tutorserver is enabled in Cursor's MCP settings.
- If using a rule file: Start a new chat or code generation request (e.g., Cmd+K) and include@de-tutor-rule(or whatever you named your rule file) in your request. This tells Cursor to load the rule's content, providing instructions on how to use the tools.
- If relying on the server prompt: Simply start interacting with Cursor; it should have access to the tools and the guidance prompt provided by the server.

This server provides the following capabilities:

- Resource (data_engineering_knowledge_memory):Stores a simple JSON object indata/data-engineering-knowledge.jsonmapping known concepts (strings) to boolean flags (true).
- Tools:

- de_tutor_read_memory: Reads the current known concepts from the JSON file.
- de_tutor_write_memory: Updates the JSON file to mark a concept as known (true) or unknown (false). Takesconcept(string) andknown(boolean) as input.
- de_tutor_get_updates: Uses your OpenRouter API key to query Perplexity (perplexity/sonar-small-online) for recent Data Engineering news, patterns, and technologies.
- Get latest updates.
- Read known concepts from memory.
- Present new information to the user.
- Update memory based on user feedback.

- Build:npm run buildcompiles TypeScript to JavaScript in thebuild/directory.
- Code Structure:Seesrc/for implementation details:

- src/index.ts: Server entry point. ImportsMcpServerandStdioServerTransportfrom specific SDK paths. InstantiatesMcpServer. Imports and calls registration functions (registerPrompts,registerResources,registerTools) from other modules, passing the server instance. Sets up and connects the server usingStdioServerTransport.
- src/prompts/index.ts: Defines the guidance prompt text. ExportsregisterPrompts, which takes theMcpServerinstance and usesserver.prompt()to register the static guidance prompt with its callback.
- src/resources/index.ts: ExportsKnowledgeMemorytype and helper functions (readMemoryFile,writeMemoryFile) for file I/O ondata/data-engineering-knowledge.json. ExportsregisterResources, which takes theMcpServerinstance and usesserver.resource()to register thedata_engineering_knowledge_memoryresource with a specific URI and aReadResourceCallback.
- src/tools/index.ts: ExportsregisterTools, which takes theMcpServerinstance and usesserver.tool()to register each tool (de_tutor_read_memory,de_tutor_write_memory,de_tutor_get_updates). Defines input schemas using Zod where necessary (forwrite_memory). Tool functions use helpers fromresources/index.tsorfetchto perform actions and return results in the expected format.

npx @modelcontextprotocol/inspector node ./build/index.js

- This server uses a simple file (data/data-engineering-knowledge.json) for storing user knowledge. For more robust applications, consider a proper database.
- Error handling is basic; production servers would need more comprehensive error management.

This demo demonstrates the core steps involved in creating a functional MCP server using the TypeScript SDK and theMcpServerclass. We defined a resource to manage state, tools to perform actions (including interacting with an external API), and a prompt to guide the AI client.

This provides a foundation for building more complex and useful agentic capabilities with MCP.

(Also, if you run into any 🐛bugs, feel free to open up an issue.)

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

Create crafted UI components inspired by the best 21st.dev design engineers.

Bring agent evaluations, observability, and synthetic test set generation directly into your IDE for free with Galileo's new MCP server

An MCP server to help AI assistants to answer questions and generate AccelByte Extend SDK code more effectively .

MCP server for AI Diagram Maker — generate beautiful software engineering diagrams directly inside Cursor, Claude Desktop, Claude Code, or any MCP-compatible AI agent

ALAPI MCP Tools,Call hundreds of API interfaces via MCP

AI-powered SVG animation generator that transforms static files into animated SVG components using the Allyson platform

MCP server that gives AI assistants on-demand access to 1,500+ amCharts docs, ~300 code examples, and 1000+ class API references.

APIMatic MCP Server is used to validate OpenAPI specifications using APIMatic. The server processes OpenAPI files and returns validation summaries by leveraging APIMatic’s API.

One shared context layer for AI agents and humans — live API specs, DB schemas, and versioned contracts across repos so every agent and teammate works from the same source of truth.

Build and deploy full-stack Next.js apps with 98 tools for React, AWS, and MongoDB

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.