Config MCP Server
Enables AI assistants to search documentation, read and update configuration files, and discover settings across your development workspace. Supports JSON, YAML, TOML, and Markdown files with seamless integration for GitHub Copilot and other MCP clients.
README
Config MCP Server
An MCP (Model Context Protocol) server providing developer documentation search, configuration helpers, and settings search tools for AI assistants and development workflows.
Features
🔍 Documentation Search
- searchDocs: Search markdown, MDX, and text files in your workspace
- Supports custom glob patterns for targeted searches
- Perfect for finding documentation, README files, and guides
⚙️ Configuration Management
- getConfig: Read configuration files (JSON/JSONC/YAML/TOML)
- setConfig: Update configuration files safely with dot-notation key paths
- listConfigs: Discover all configuration files in your workspace
🎛️ Settings Search
- searchSettings: Search through JSON/JSONC settings files
- Ideal for VS Code settings, application configs, and more
- Customizable file patterns for different types of settings
Requirements
- Node.js 18.17+ (20+ recommended)
- MCP-compatible client (Claude Desktop, Continue.dev, etc.)
Installation & Setup
1. Install Dependencies
npm install
2. Build the Server
npm run build
3. Install VS Code MCP Extension (Recommended)
For the best experience with GitHub Copilot, install the MCP extension for VS Code:
- Open VS Code
- Go to Extensions (Ctrl/Cmd + Shift + X)
- Search for "Model Context Protocol" or "MCP"
- Install the official MCP extension
- Reload VS Code
4. Configure Your MCP Client
Add to your MCP client configuration:
VS Code with GitHub Copilot (.vscode/settings.json):
{
"mcp.servers": {
"config-mcp-server": {
"command": "node",
"args": ["${workspaceFolder}/path/to/Config-MCP-Server/dist/index.js"],
"cwd": "${workspaceFolder}",
"env": {
"NODE_ENV": "production"
}
}
},
"github.copilot.advanced": {
"mcp.enabled": true,
"mcp.servers": ["config-mcp-server"]
}
}
VS Code User Settings (settings.json):
{
"mcp.global.servers": {
"config-mcp-server": {
"command": "node",
"args": ["path/to/Config-MCP-Server/dist/index.js"],
"autoStart": true,
"workspaceRelative": true
}
}
}
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"config-mcp-server": {
"command": "node",
"args": ["path/to/Config-MCP-Server/dist/index.js"],
"cwd": "path/to/your/workspace"
}
}
}
Continue.dev (.continue/config.json):
{
"experimental": {
"modelContextProtocolServers": [
{
"transport": {
"type": "stdio",
"command": "node",
"args": ["path/to/Config-MCP-Server/dist/index.js"]
}
}
]
}
}
Development Scripts
npm run dev— Start in watch mode (supports .ts imports)npm run build— Compile TypeScript todist/npm start— Run compiled servernpm run lint— Check code stylenpm run format— Format code with Prettier
Tool Reference
searchDocs
Search developer documentation and markdown files.
// Parameters:
{
query: string, // Search term or phrase
include?: string[] // Custom glob patterns (optional)
}
// Example usage by AI:
// "Search for authentication setup instructions"
// Uses: searchDocs({ query: "authentication setup" })
searchSettings
Search configuration and settings files for specific keys or values.
// Parameters:
{
query: string, // Search term
include?: string[] // Custom patterns (optional)
}
// Example usage by AI:
// "Find VS Code Python interpreter settings"
// Uses: searchSettings({ query: "python.defaultInterpreterPath" })
getConfig
Read and parse configuration files with optional key extraction.
// Parameters:
{
file: string, // Path to config file
key?: string // Dot-separated key path (optional)
}
// Example usage by AI:
// "Get the database host from config.json"
// Uses: getConfig({ file: "config.json", key: "database.host" })
setConfig
Update configuration files safely with automatic format detection.
// Parameters:
{
file: string, // Path to config file
key: string, // Dot-separated key path
value: string // JSON-encoded value
}
// Example usage by AI:
// "Set the API timeout to 30000 in config.json"
// Uses: setConfig({ file: "config.json", key: "api.timeout", value: "30000" })
listConfigs
Discover configuration files in the workspace.
// Parameters:
{
include?: string[] // Glob patterns (default: common config files)
}
// Example usage by AI:
// "Show me all configuration files"
// Uses: listConfigs({})
Supported File Formats
- JSON (
.json) - Standard JSON files - JSONC (
.jsonc) - JSON with comments (VS Code style) - YAML (
.yaml,.yml) - YAML configuration files - TOML (
.toml) - TOML configuration files - Markdown (
.md,.mdx) - Documentation files - Text (
.txt) - Plain text files
Error Handling
All tools include comprehensive error handling and return user-friendly error messages when:
- Files are not found or unreadable
- Invalid JSON/YAML/TOML syntax
- Permission issues
- Invalid key paths or values
TypeScript Support
The server is built with TypeScript and supports:
- Import resolution with
.tsextensions in development - Path aliases (
@/lib/...) for cleaner imports - Strict type checking for reliability
- Source maps for debugging
GitHub Copilot Integration
Enhanced Copilot Experience
With this MCP server, GitHub Copilot gains powerful workspace awareness:
- Context-Aware Suggestions: Copilot can reference your project's documentation and configuration
- Smart Configuration: Automatically suggests configuration changes based on your project setup
- Workspace Understanding: Better code completions using your project's README and docs
VS Code Features
- Workspace Integration: Automatically detects when you're working in a configured workspace
- Command Palette: Access MCP tools via VS Code Command Palette (
Ctrl/Cmd + Shift + P) - Status Bar: Shows MCP server connection status
- Output Panel: View MCP server logs in VS Code Output panel
Usage Examples
In VS Code with GitHub Copilot
Chat with Copilot:
- "@workspace Search for authentication setup in our docs"
- "Help me find where the API configuration is defined"
- "What's the current database timeout setting?"
- "Update the dev server port to 3001"
Command Palette Integration
- Press
Ctrl/Cmd + Shift + P - Type "MCP: Config" to see available commands:
MCP: Search DocumentationMCP: Find SettingsMCP: Read ConfigurationMCP: Update ConfigurationMCP: List Config Files
Traditional Examples
Finding Documentation
Ask your AI: "Search for Docker setup instructions"
→ Uses searchDocs to find relevant documentation
Managing Configuration
Ask your AI: "Update the database port to 5433 in my config file"
→ Uses getConfig to read current config, then setConfig to update it
Exploring Settings
Ask your AI: "Show me all my VS Code Python settings"
→ Uses searchSettings to find Python-related configuration
VS Code & Copilot Troubleshooting
Common Issues
MCP Server Not Starting:
- Check VS Code Output panel (
View > Output > Model Context Protocol) - Verify Node.js is installed and accessible in PATH
- Ensure the server path in settings.json is correct
- Try reloading VS Code (
Ctrl/Cmd + Shift + P > Developer: Reload Window)
Copilot Not Using MCP Context:
- Verify GitHub Copilot extension is installed and active
- Check that
github.copilot.advanced.mcp.enabledis set totrue - Restart VS Code after configuration changes
- Use
@workspaceprefix in Copilot chat for explicit context
Performance Optimization:
- Adjust
maxResultsin settings if searches are slow - Use more specific glob patterns in
includeparameters - Add common build directories to search exclusions
VS Code Tips
- Quick Access: Use
Ctrl/Cmd + Shift + Pthen type "MCP" to see all available commands - Status Monitoring: Check the status bar for MCP connection indicators
- Workspace Templates: Copy
.vscode/settings.json.templateto your project's.vscode/settings.json - Global vs Workspace: Use User settings for global MCP config, Workspace settings for project-specific setup
GitHub Copilot Best Practices
- Start questions with
@workspaceto engage MCP context - Be specific about file types: "search TypeScript configs" vs "search configs"
- Use natural language: "What's my current database setup?" instead of technical queries
- Leverage context: Copilot will automatically use your project's documentation in suggestions
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Run
npm run lintandnpm run format - Test with VS Code MCP integration
- Submit a pull request
License
MIT - See LICENSE file for details
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.