files-mcp-server
This project is a library that offers an MCP server for local testing with compatible clients. It is not intended for production use and provides configuration and encoding tools for setup and local development. The project focuses on secure handling and testing through environment settings and client integrations.
Files MCP Server
This library provides an MCP server for local testing with any client that supports the Model Context Protocol.
Install
- Clone this repository locally (will update once we are published to NPM)
- In your MCP client of choice add this server using
npx -y {ABSOLUTE LOCAL PATH}\files-mcp-server
- Edit the server configuration to include the require env vars
{ "mcp": { "servers": { "my-mcp-server-1da66260": { "type": "stdio", "command": "npx", "args": [ "-y", "D:\\github\\files-mcp-server" ], "env": { "ODMCP_TENANT_ID": "{TENANT_ID}", "ODMCP_CLIENT_ID": "{CLIENT_ID}", "ODMCP_THUMBPRINT": "{THUMBPRINT}", "ODMCP_PRIVATE_KEY": "{BASE64_ENCODED_PRIVATE_KEY}", }, }, } } }
- Begin interacting with the server
Local Development
- Create a .env file
ODMCP_TENANT_ID="{TENANT_ID}"
ODMCP_CLIENT_ID="{CLIENT_ID}"
ODMCP_THUMBPRINT="{THUMBPRINT}"
ODMCP_PRIVATE_KEY="{BASE64_ENCODED_PRIVATE_KEY}"
- Hit F5 to start the server and debug
- Inspector works well for testing the MCP server itself or use your LLM Client of choice!
Encode private key
To help you base64 encode your certificate's private key you can update the file /src/encodekey.ts with your private key and run npm run encode-key
. The base64 encoded key will be output on the commandline.
Do NOT check in updates to the encodekey.ts file including your private key information 🙂.
Trademarks
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft’s Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party’s policies.
Usage
PLEASE USE THIS ONLY IN A DEVELOPER ENVIRONMENT — NOT FOR PRODUCTION
For more information, see the Microsoft identity platform security guidance.