Skip to content

Commit

Permalink
Merge branch 'modelcontextprotocol:main' into add-time-server
Browse files Browse the repository at this point in the history
  • Loading branch information
maledorak authored Nov 28, 2024
2 parents 0730292 + 6d83c78 commit 82ec907
Show file tree
Hide file tree
Showing 29 changed files with 1,853 additions and 105 deletions.
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,13 @@ Each MCP server is implemented with either the [Typescript MCP SDK](https://gith

- **[Filesystem](src/filesystem)** - Secure file operations with configurable access controls
- **[GitHub](src/github)** - Repository management, file operations, and GitHub API integration
- **[GitLab](src/gitlab)** - GitLab API, enabling project management
- **[Git](src/git)** - Tools to read, search, and manipulate Git repositories
- **[Google Drive](src/gdrive)** - File access and search capabilities for Google Drive
- **[PostgreSQL](src/postgres)** - Read-only database access with schema inspection
- **[Sqlite](src/sqlite)** - Database interaction and business intelligence capabilities
- **[Slack](src/slack)** - Channel management and messaging capabilities
- **[Sentry](src/sentry)** - Retrieving and analyzing issues from Sentry.io
- **[Memory](src/memory)** - Knowledge graph-based persistent memory system
- **[Puppeteer](src/puppeteer)** - Browser automation and web scraping
- **[Brave Search](src/brave-search)** - Web and local search using Brave's Search API
Expand Down Expand Up @@ -39,6 +43,8 @@ pip install mcp-server-git
python -m mcp_server_git
```

Follow [these](https://docs.astral.sh/uv/getting-started/installation/) instructions to install `uv` / `uvx` and [these](https://pip.pypa.io/en/stable/installation/) to install `pip`.

### Using an MCP Client
However, running a server on its own isn't very useful, and should instead be configured into an MCP client. For example, here's the Claude Desktop configuration to use the above server:

Expand Down Expand Up @@ -99,7 +105,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file

## 💬 Community

- [GitHub Discussions](https://github.com/modelcontextprotocol/servers/discussions)
- [GitHub Discussions](https://github.com/orgs/modelcontextprotocol/discussions)

## ⭐ Support

Expand Down
88 changes: 58 additions & 30 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 10 additions & 5 deletions src/brave-search/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,16 @@ Add this to your `claude_desktop_config.json`:

```json
{
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "YOUR_API_KEY_HERE"
"mcpServers": {
"brave-search": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-brave-search"
],
"env": {
"BRAVE_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
Expand Down
3 changes: 1 addition & 2 deletions src/brave-search/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import {
ListToolsRequestSchema,
Tool,
} from "@modelcontextprotocol/sdk/types.js";
import fetch from "node-fetch";

const WEB_SEARCH_TOOL: Tool = {
name: "brave_web_search",
Expand Down Expand Up @@ -104,7 +103,7 @@ function checkRateLimit() {
requestCount.lastReset = now;
}
if (requestCount.second >= RATE_LIMIT.perSecond ||
requestCount.month >= RATE_LIMIT.perMonth) {
requestCount.month >= RATE_LIMIT.perMonth) {
throw new Error('Rate limit exceeded');
}
requestCount.second++;
Expand Down
5 changes: 2 additions & 3 deletions src/brave-search/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@modelcontextprotocol/server-brave-search",
"version": "0.5.1",
"version": "0.5.2",
"description": "MCP server for Brave Search API integration",
"license": "MIT",
"author": "Anthropic, PBC (https://anthropic.com)",
Expand All @@ -19,8 +19,7 @@
"watch": "tsc --watch"
},
"dependencies": {
"@modelcontextprotocol/sdk": "0.5.0",
"node-fetch": "^3.3.2"
"@modelcontextprotocol/sdk": "0.5.0"
},
"devDependencies": {
"@types/node": "^20.10.0",
Expand Down
12 changes: 9 additions & 3 deletions src/everything/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,14 @@ Add to your `claude_desktop_config.json`:

```json
{
"everything": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-everything"]
"mcpServers": {
"everything": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-everything"
]
}
}
}
```
2 changes: 1 addition & 1 deletion src/fetch/src/mcp_server_fetch/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ def get_robots_txt_url(url: str) -> str:
async def check_may_autonomously_fetch_url(url: str, user_agent: str):
"""
Check if the URL can be fetched by the user agent according to the robots.txt file.
Raises an McpError if not.
Raises a McpError if not.
"""
from httpx import AsyncClient, HTTPError

Expand Down
13 changes: 10 additions & 3 deletions src/filesystem/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,16 @@ Node.js server implementing Model Context Protocol (MCP) for filesystem operatio
Add this to your `claude_desktop_config.json`:
```json
{
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/username/Desktop", "/path/to/other/allowed/dir"]
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop",
"/path/to/other/allowed/dir"
]
}
}
}
```
Expand Down
11 changes: 8 additions & 3 deletions src/gdrive/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,14 @@ To integrate this server with the desktop app, add the following to your app's s

```json
{
"gdrive": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-gdrive"]
"mcpServers": {
"gdrive": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-gdrive"
]
}
}
}
```
Expand Down
1 change: 0 additions & 1 deletion src/git/src/mcp_server_git/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import click
from functools import partial
from pathlib import Path
import logging
import sys
Expand Down
6 changes: 2 additions & 4 deletions src/git/src/mcp_server_git/server.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import logging
import json
from pathlib import Path
from typing import Sequence
from mcp.server import Server
Expand All @@ -14,8 +13,7 @@
)
from enum import Enum
import git
from pydantic import BaseModel, Field
from typing import List, Optional
from pydantic import BaseModel

class GitStatus(BaseModel):
repo_path: str
Expand All @@ -32,7 +30,7 @@ class GitCommit(BaseModel):

class GitAdd(BaseModel):
repo_path: str
files: List[str]
files: list[str]

class GitReset(BaseModel):
repo_path: str
Expand Down
15 changes: 10 additions & 5 deletions src/github/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,11 +117,16 @@ To use this with Claude Desktop, add the following to your `claude_desktop_confi

```json
{
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
"mcpServers": {
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
Expand Down
Loading

0 comments on commit 82ec907

Please sign in to comment.