diff --git a/README.md b/README.md index 7c1a6f41..47a958d3 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ A collection of reference implementations and community-contributed servers for the [Model Context Protocol](https://modelcontextprotocol.io/) (MCP). This repository showcases the versatility and extensibility of MCP, demonstrating how it can be used to give Large Language Models (LLMs) secure, controlled access to tools and data sources. +Each MCP server is implemented with either the [Typescript MCP SDK](https://github.com/modelcontextprotocol/typescript-sdk) or [Python MCP SDK](https://github.com/modelcontextprotocol/python-sdk). + ## 🌟 Featured Servers - **[Filesystem](src/filesystem)** - Secure file operations with configurable access controls @@ -44,6 +46,10 @@ Additional examples might look like: "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"] }, + "git": { + "command": "uvx", + "args": ["mcp-server-git", "--repository", "path/to/git/repo"] + }, "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], diff --git a/package-lock.json b/package-lock.json index d8e4f9d7..7e678278 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@modelcontextprotocol/servers", - "version": "0.2.0", + "version": "0.3.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@modelcontextprotocol/servers", - "version": "0.2.0", + "version": "0.3.0", "license": "MIT", "workspaces": [ "src/*" @@ -3276,7 +3276,7 @@ }, "src/brave-search": { "name": "@modelcontextprotocol/server-brave-search", - "version": "0.2.0", + "version": "0.3.0", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "0.5.0", @@ -3350,7 +3350,7 @@ }, "src/everything": { "name": "@modelcontextprotocol/server-everything", - "version": "0.2.0", + "version": "0.3.0", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "0.5.0", @@ -3369,7 +3369,7 @@ }, "src/filesystem": { "name": "@modelcontextprotocol/server-filesystem", - "version": "0.2.0", + "version": "0.3.0", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "0.5.0", @@ -3440,7 +3440,7 @@ }, "src/gdrive": { "name": "@modelcontextprotocol/server-gdrive", - "version": "0.2.0", + "version": "0.3.0", "license": "MIT", "dependencies": { "@google-cloud/local-auth": "^3.0.1", @@ -3457,7 +3457,7 @@ }, "src/github": { "name": "@modelcontextprotocol/server-github", - "version": "0.2.0", + "version": "0.3.0", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "0.6.0", @@ -3509,7 +3509,7 @@ }, "src/google-maps": { "name": "@modelcontextprotocol/server-google-maps", - "version": "0.2.0", + "version": "0.3.0", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "0.6.0", @@ -3536,7 +3536,7 @@ }, "src/memory": { "name": "@modelcontextprotocol/server-memory", - "version": "0.2.0", + "version": "0.3.0", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "0.5.0" @@ -3551,7 +3551,7 @@ }, "src/postgres": { "name": "@modelcontextprotocol/server-postgres", - "version": "0.2.0", + "version": "0.3.0", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "0.6.0", @@ -3579,7 +3579,7 @@ }, "src/puppeteer": { "name": "@modelcontextprotocol/server-puppeteer", - "version": "0.2.0", + "version": "0.3.0", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "0.5.0", @@ -3595,7 +3595,7 @@ }, "src/slack": { "name": "@modelcontextprotocol/server-slack", - "version": "0.2.0", + "version": "0.3.0", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "0.6.0" diff --git a/src/brave-search/README.md b/src/brave-search/README.md index 6ec46511..2d5caef9 100644 --- a/src/brave-search/README.md +++ b/src/brave-search/README.md @@ -47,3 +47,7 @@ Add this to your `claude_desktop_config.json`: } } ``` + +## License + +This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository. diff --git a/src/filesystem/README.md b/src/filesystem/README.md index 913c1c89..08ec4617 100644 --- a/src/filesystem/README.md +++ b/src/filesystem/README.md @@ -87,3 +87,8 @@ Add this to your `claude_desktop_config.json`: "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/username/Desktop", "/path/to/other/allowed/dir"] } } +``` + +## License + +This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository. diff --git a/src/gdrive/README.md b/src/gdrive/README.md index c4dd4f2e..16dadf2b 100644 --- a/src/gdrive/README.md +++ b/src/gdrive/README.md @@ -57,3 +57,7 @@ To integrate this server with the desktop app, add the following to your app's s } } ``` + +## License + +This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository. diff --git a/src/git/README.md b/src/git/README.md index 35885439..49f45324 100644 --- a/src/git/README.md +++ b/src/git/README.md @@ -6,19 +6,53 @@ A Model Context Protocol server for Git repository interaction and automation. T Please note that mcp-server-git is currently in early development. The functionality and available tools are subject to change and expansion as we continue to develop and improve the server. -## Available Tools +### Tools + +1. `git_status` + - Shows the working tree status + - Input: + - `repo_path` (string): Path to Git repository + - Returns: Current status of working directory as text output + +2. `git_diff_unstaged` + - Shows changes in working directory not yet staged + - Input: + - `repo_path` (string): Path to Git repository + - Returns: Diff output of unstaged changes + +3. `git_diff_staged` + - Shows changes that are staged for commit + - Input: + - `repo_path` (string): Path to Git repository + - Returns: Diff output of staged changes + +4. `git_commit` + - Records changes to the repository + - Inputs: + - `repo_path` (string): Path to Git repository + - `message` (string): Commit message + - Returns: Confirmation with new commit hash + +5. `git_add` + - Adds file contents to the staging area + - Inputs: + - `repo_path` (string): Path to Git repository + - `files` (string[]): Array of file paths to stage + - Returns: Confirmation of staged files + +6. `git_reset` + - Unstages all staged changes + - Input: + - `repo_path` (string): Path to Git repository + - Returns: Confirmation of reset operation + +7. `git_log` + - Shows the commit logs + - Inputs: + - `repo_path` (string): Path to Git repository + - `max_count` (number, optional): Maximum number of commits to show (default: 10) + - Returns: Array of commit entries with hash, author, date, and message -The current list of tools includes: - -- `git_status`: Shows the working tree status -- `git_diff_unstaged`: Shows changes in the working directory that are not yet staged -- `git_diff_staged`: Shows changes that are staged for commit -- `git_commit`: Records changes to the repository -- `git_add`: Adds file contents to the staging area -- `git_reset`: Unstages all staged changes -- `git_log`: Shows the commit logs - -This list is expected to grow as we add more functionality to the server. We welcome contributions from the community to expand and enhance the available tools. ## Installation @@ -43,9 +77,9 @@ python -m mcp_server_git ## Configuration -### Configure for Claude.app +### Usage with Claude Desktop -Add to your Claude settings: +Add this to your `claude_desktop_config.json`:
Using uvx @@ -73,7 +107,7 @@ Add to your Claude settings: ```
-### Configure for Zed +### Usage with [Zed](https://github.com/zed-industries/zed) Add to your Zed settings.json: @@ -118,15 +152,6 @@ cd path/to/servers/src/git npx @modelcontextprotocol/inspector uv run mcp-server-git ``` -## Contributing - -We encourage contributions to help expand and improve mcp-server-git. Whether you want to add new tools, enhance existing functionality, or improve documentation, your input is valuable. - -For examples of other MCP servers and implementation patterns, see: -https://github.com/modelcontextprotocol/servers - -Pull requests are welcome! Feel free to contribute new ideas, bug fixes, or enhancements to make mcp-server-git even more powerful and useful. - ## License -mcp-server-git is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository. +This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository. diff --git a/src/github/README.md b/src/github/README.md index 3f73557f..d966721c 100644 --- a/src/github/README.md +++ b/src/github/README.md @@ -126,3 +126,7 @@ To use this with Claude Desktop, add the following to your `claude_desktop_confi } } ``` + +## License + +This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository. diff --git a/src/google-maps/README.md b/src/google-maps/README.md index bd396386..a7b53e43 100644 --- a/src/google-maps/README.md +++ b/src/google-maps/README.md @@ -52,9 +52,12 @@ MCP Server for the Google Maps API. ## Setup -1. Get a Google Maps API key by following the instructions [here](https://developers.google.com/maps/documentation/javascript/get-api-key#create-api-keys). +### API Key +Get a Google Maps API key by following the instructions [here](https://developers.google.com/maps/documentation/javascript/get-api-key#create-api-keys). -2. To use this with Claude Desktop, add the following to your `claude_desktop_config.json`: +### Usage with Claude Desktop + +Add the following to your `claude_desktop_config.json`: ```json { @@ -67,3 +70,7 @@ MCP Server for the Google Maps API. } } ``` + +## License + +This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository. diff --git a/src/memory/README.md b/src/memory/README.md index 744241d9..572ac917 100644 --- a/src/memory/README.md +++ b/src/memory/README.md @@ -168,3 +168,7 @@ Follow these steps for each interaction: b) Connect them to the current entities using relations b) Store facts about them as observations ``` + +## License + +This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository. diff --git a/src/postgres/README.md b/src/postgres/README.md index 4c8344df..5fe8d4de 100644 --- a/src/postgres/README.md +++ b/src/postgres/README.md @@ -20,7 +20,7 @@ The server provides schema information for each table in the database: - Includes column names and data types - Automatically discovered from database metadata -## Example Usage with the Desktop App +## Usage with Claude Desktop To use this server with the Claude Desktop app, add the following configuration to the "mcpServers" section of your `claude_desktop_config.json`: @@ -34,3 +34,7 @@ To use this server with the Claude Desktop app, add the following configuration ``` Replace `/mydb` with your database name. + +## License + +This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository. diff --git a/src/puppeteer/README.md b/src/puppeteer/README.md index c6132b1b..e1d91b87 100644 --- a/src/puppeteer/README.md +++ b/src/puppeteer/README.md @@ -50,4 +50,8 @@ The server provides access to two types of resources: - Console log monitoring - Screenshot capabilities - JavaScript execution -- Basic web interaction (navigation, clicking, form filling) \ No newline at end of file +- Basic web interaction (navigation, clicking, form filling) + +## License + +This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository. diff --git a/src/slack/README.md b/src/slack/README.md index aec07c4c..0f964e37 100644 --- a/src/slack/README.md +++ b/src/slack/README.md @@ -92,7 +92,7 @@ MCP Server for the Slack API, enabling Claude to interact with Slack workspaces. 5. Get your Team ID (starts with a `T`) by following [this guidance](https://slack.com/help/articles/221769328-Locate-your-Slack-URL-or-ID#find-your-workspace-or-org-id) -### Usage with the Claude Desktop app +### Usage with Claude Desktop Add the following to your `claude_desktop_config.json`: @@ -116,3 +116,7 @@ If you encounter permission errors, verify that: 2. The app is properly installed to your workspace 3. The tokens and workspace ID are correctly copied to your configuration 4. The app has been added to the channels it needs to access + +## License + +This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository. diff --git a/src/sqlite/README.md b/src/sqlite/README.md index 36b63c6e..533c7616 100644 --- a/src/sqlite/README.md +++ b/src/sqlite/README.md @@ -23,18 +23,46 @@ The server provides a demonstration prompt: The server offers six core tools: #### Query Tools -- `read-query`: Execute SELECT queries on the database -- `write-query`: Execute INSERT, UPDATE, or DELETE queries -- `create-table`: Create new database tables +- `read-query` + - Execute SELECT queries to read data from the database + - Input: + - `query` (string): The SELECT SQL query to execute + - Returns: Query results as array of objects + +- `write-query` + - Execute INSERT, UPDATE, or DELETE queries + - Input: + - `query` (string): The SQL modification query + - Returns: `{ affected_rows: number }` + +- `create-table` + - Create new tables in the database + - Input: + - `query` (string): CREATE TABLE SQL statement + - Returns: Confirmation of table creation #### Schema Tools -- `list-tables`: Get a list of all tables in the database -- `describe-table`: View the schema of a specific table +- `list-tables` + - Get a list of all tables in the database + - No input required + - Returns: Array of table names + +- `describe-table` + - View schema information for a specific table + - Input: + - `table_name` (string): Name of table to describe + - Returns: Array of column definitions with names and types #### Analysis Tools -- `append-insight`: Add new business insights to the memo resource +- `append-insight` + - Add new business insights to the memo resource + - Input: + - `insight` (string): Business insight discovered from data analysis + - Returns: Confirmation of insight addition + - Triggers update of memo://insights resource -## Installation + +## Usage with Claude Desktop ```bash # Add the server to your claude_desktop_config.json @@ -52,3 +80,7 @@ The server offers six core tools: } } ``` + +## License + +This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.