Codebase MCP Server
by MyunghoBae
README.md
<p align="center">
<h1 align="center">Codebase MCP Server</h1>
<p align="center">Model Context Protocol server for secure and efficient Codebase analysis</p>
</p>
<p align="center">
<a href="https://github.com/yourusername/codebase-mcp-server/blob/main/LICENSE">
<img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License">
</a>
<a href="https://www.npmjs.com/package/codebase-mcp-server">
<img src="https://img.shields.io/npm/v/codebase-mcp-server" alt="npm version">
</a>
</p>
<p align="center">
<a href="#-key-features">Key Features</a> •
<a href="#-supported-languages">Supported Languages</a> •
<a href="#%EF%B8%8F-tools">Tools</a> •
<a href="#-quickstart">QuickStart</a> •
<a href="#-build">Build</a> •
<a href="#-contributing">Contributing</a>
</p>
## 🌟 Key Features
- **Secure Access**: Restricts file operations to predefined root directory.
- **Efficient File Management**: Provides tools for reading and searching files.
- **Detailed Metadata**: Retrieves comprehensive file metadata including size, creation time, last modified time, permissions, and type.
- **Dependency Analysis**: Traverses and analyzes dependency trees within projects.
## 📋 Supported Languages
- **JavaScript/TypeScript**
- **CSS / CSS Preprocessors**
## 🛠️ Tools
- `get-project-basics`: Retrieves essential project information including package.json details, directory structure.
- `search-config-files`: Searches for configuration files within the root directory and returns their paths.
- `get-dependency-tree`: Traverses the dependency tree based on the given file path and root directory, and returns the traversal results.
- `list-directory`: Lists the contents of a specified directory, distinguishing between files and directories.
- `read-file-with-metadata`: Reads the content of a specified file and retrieves its metadata.
## 🚀 QuickStart
### Prerequisites
- Node.js v18 or later
- Codebase to communicate with LLM
### Installation
First, install the Codebase MCP server with your client. A typical configuration looks like this:
```json
{
"mcpServers": {
"Codebase": {
"command": "npx",
"args": ["codebase-mcp-server@latest", "/path/to/your/codebase"]
}
}
}
```
Or, you can install the Codebase MCP server with Docker.
After cloning this repository, build the Docker image:
```bash
docker build -t mcp/codebase -f .
```
And then add the following to your MCP servers file:
```json
{
"mcpServers": {
"Codebase": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--mount",
"type=bind,src=/path/to/your/codebase/dir,dst=/projects/path/to/your/codebase/dir,ro",
"--mount",
"type=bind,src=/path/to/some/file.txt,dst=/projects/path/to/some/file.txt",
"mcp/codebase",
"/projects"
]
}
}
}
```
<details><summary><b>Install in VS Code</b></summary>
You can install the Codebase MCP server using the VS Code CLI:
```bash
# For VS Code
code --add-mcp '{"name":"Codebase","command":"npx","args":["codebase-mcp-server@latest"]}'
```
After installation, the Codebase MCP server will be available for use with your GitHub Copilot agent in VS Code.
</details>
<details><summary><b>Install in Cursor</b></summary>
Go to Cursor Settings -> MCP -> Add new MCP Server. Use following configuration:
```json
{
"mcpServers": {
"Codebase": {
"command": "npx",
"args": ["codebase-mcp-server@latest"]
}
}
}
```
</details>
<details><summary><b>Install in Windsurf</b></summary>
Follow Windsuff MCP documentation. Use following configuration:
```json
{
"mcpServers": {
"Codebase": {
"command": "npx",
"args": ["codebase-mcp-server@latest"]
}
}
}
```
</details>
<details><summary><b>Install in Claude Desktop</b></summary>
Follow the MCP install guide, use following configuration:
```json
{
"mcpServers": {
"Codebase": {
"command": "npx",
"args": ["codebase-mcp-server@latest"]
}
}
}
```
</details>
## 🔧 Build
### Local Development Build
```bash
# Install dependencies
npm ci
# Build TypeScript
npm run build
```
### Docker Build
```bash
# Build Docker image
docker build -t mcp/codebase -f .
# Or with specific tag
docker build -t mcp/codebase:latest -f .
```
## 🤝 Contributing
Contributions are welcome! Please read our Contributing Guide for details on our Code of conduct and the process for submitting pull requests.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues