Allows configuration through environment variables, supporting loading of variables from .env files for setting file paths and directories used by the MCP server.
Serves as the runtime environment for the MCP server, enabling local middleware functionality for communication between LLM-based tools.
Provides access to the @modelcontextprotocol/sdk package which enables the server to run and be tested in web browsers using the Inspector tool.
Project Description
This project is a Node.js application for Windows OS called MCP Server. It serves as a local middleware for seamless communication between LLM-based tools (e.g., Copilot Agents). The server is designed to be run locally, ideally alongside an IDE like Visual Studio Code or Visual Studio.
MCP Server uses the third-party library @modelcontextprotocol/sdk
, which allows you to run and test it in a web browser using the Inspector tool.
The project includes a predefined ./data
directory that contains documentation and guide files used to assist with coding. Additionally, a ./data/prompts
subfolder contains prompt files used by Copilot Agents to guide their behavior and output.
Configuration
Set the following environment variables:
GUIDE_FILES_DIR
: Path to the directory containing your local guide files (e.g.,.\\data
).PROMPT_DIR
: Path to your prompt directory (e.g.,.\\dat\\prompts
). Prompt files must be.txt
files and start with the prefixprompt_
.
You can set these variables in a .env
file or pass them directly in the terminal when running the app.
Keep in mind having dobule "\" in your path names.
Example .env
file:
💡 The paths should directly point to the folders where your guide and prompt files are located. It’s recommended to create a
prompts
subfolder underdata
.
Features
There are 3 build-in tools which you can use:
ListAvailableFilesTool
– Lists all.txt
files located in thedata
directory.ListPromptsTool
– Lists all prompt files located in thedata/prompts
directory.ReadLocalFileTool
– Reads and returns the content of a file from eitherdata
ordata/prompts
, depending on the file prefix.
Usage
- Install dependencies:
- Configure environment variables using a
.env
file or directly in the terminal. - Build the project:
- Run the server for browser testing:
- Use the MCP-compatible client (like Copilot for Visual Studio Code) to interact with the server.
Usage with Visual Studio Code
To integrate with Copilot:
- Create a
.vscode
directory in your project. - Add a
mcp.json
file with the following content:
- Follow the instructions from the official documentation to enable MCP support in VS Code.
- Start your server if is disabled with a command: ctrl+shift+p MCP Servers -> next chose you server Name and click action [""Start","Stop","Restart"]
- You should see MCP server Logs in OUTPUT terminal: 2025-05-30 08:35:10.855 [warning] [server stderr] ✅ Local MCP server running on stdio 2025-05-30 08:35:10.864 [info] Discovered 3 tools
⚠️ Make sure you're using the latest or pre-release version of Visual Studio Code that supports Agents.
Example prompt using guide files and custom prompts: You can find more examples in "../docs/VisualCode_Copilot_Examples"
Customization
You can extend this project by adding your own guide or prompt files:
- Add a guide file: Create a
.txt
file with the prefixguide_
and place it in the folder defined byGUIDE_FILES_DIR
. - Add a prompt file: Create a
.txt
file with the prefixprompt_
and place it in the folder defined byPROMPT_DIR
.
You can also develop custom tools:
- Create a new
YourTool.ts
file in thesrc/tools
directory. - Register the tool in
localMcpServer.ts
. - Rebuild the project before running tests.
License
This project is licensed under the MIT License.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
A local middleware Node.js application for Windows that enables seamless communication between LLM-based tools like Copilot Agents, providing access to local guide files and custom prompts through built-in tools.
Related MCP Servers
- -securityAlicense-qualityA framework that enables websites to share tools, resources, and prompts with client-side LLMs without requiring API keys, allowing users to interact with web services using their preferred models.Last updated -254JavaScriptMIT License
- AsecurityAlicenseAqualityA server that enables LLMs (like Claude and VSCode Copilot) to interact with Azure Cosmos DB data through natural language queries, acting as a translator between AI assistants and your database.Last updated -391TypeScriptMIT License
- AsecurityAlicenseAqualityA Node.js/TypeScript MCP server that facilitates interactive communication between LLMs and users, allowing AI assistants to request user input, display notifications, and manage command-line chat sessions.Last updated -5679TypeScriptMIT License
- -securityAlicense-qualityA middleware system that connects large language models (LLMs) with various tool services through an OpenAI-compatible API, enabling enhanced AI assistant capabilities with features like file operations, web browsing, and database management.Last updated -3PythonMIT License