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.txtfiles 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
π‘ The paths should directly point to the folders where your guide and prompt files are located. Itβs recommended to create a
promptssubfolder underdata.
Related MCP server: interactive-mcp
Features
There are 3 build-in tools which you can use:
ListAvailableFilesToolβ Lists all.txtfiles located in thedatadirectory.ListPromptsToolβ Lists all prompt files located in thedata/promptsdirectory.ReadLocalFileToolβ Reads and returns the content of a file from eitherdataordata/prompts, depending on the file prefix.
Usage
Install dependencies:
npm installConfigure environment variables using a
.envfile or directly in the terminal.Build the project:
npm run buildRun the server for browser testing:
npx @modelcontextprotocol/inspector build/index.jsUse 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
.vscodedirectory in your project.Add a
mcp.jsonfile 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:List 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
.txtfile with the prefixguide_and place it in the folder defined byGUIDE_FILES_DIR.Add a prompt file: Create a
.txtfile with the prefixprompt_and place it in the folder defined byPROMPT_DIR.
You can also develop custom tools:
Create a new
YourTool.tsfile in thesrc/toolsdirectory.Register the tool in
localMcpServer.ts.Rebuild the project before running tests.
License
This project is licensed under the MIT License.