5 个开源 MCP 服务器

什么是 MCP 服务器?

MCP 代表模型上下文协议。这是像 Claude 这样的 AI 与自身之外的东西(例如网站或代码笔记本)进行交流的一种方式。没有它,你的 AI 就只能靠猜测。有了它,就像说:“嘿,兄弟,帮我把 GitHub 的内容抓过来”。

1.浏览网页的人工智能

Stagehand 是Browserbase推出的一款很酷的工具。它能让你的 AI 像打开浏览器一样——点击链接、抓取文本等等。我用它从一个美食博客上抓取了一堆菜谱标题,用于一个项目,这比我自己写脚本容易多了。

git clone https://github.com/browserbase/stagehand-mcp 
cd stagehand-mcp 
npm install 
npm start

它在 localhost:3000 上运行。然后我告诉 Claude(使用 Claude Desktop,它非常适合这个功能):

去新闻网站获取头条新闻。Stagehand 会快速抓取标题,然后Claude 会将其吐出来。对于查询价格或提取数据等无需编写代码的操作来说,它非常方便。

它是免费的、开源的,并且不会像我尝试过的其他一些网络工具那样崩溃。

2. Jupyter:轻松获取数据

Jupyter MCP 服务器可以让你的 AI 处理 Jupyter 笔记本——就是那些用于数据的编码应用程序。我不是数据科学家,但我让 Claude 看了我的账单的 CSV 文件,然后告诉我发生了什么。

以下是我的设置方法:

git clone https://github.com/jjsantos01/jupyter-notebook-mcp 
cd jupyter-notebook-mcp 
pip install -r requirements.txt 
python server.py

它在 localhost:8000 上运行。我告诉 Claude:

打开 finance.csv并告诉我我花多少钱买菜。

Claude做了一个笔记本,运行了一些 Python 程序,然后说道:

这个月你花掉了403.34买菜。

我不需要自己写任何代码。就像有个书呆子朋友帮你算算账一样。

3. Opik:弄清楚你的人工智能在做什么

Opik 来自Comet,它专注于监控你的 AI。比如,如果AI开始出现异常,Opik 会告诉你原因。我曾经有一个 AI 机器人总是给出愚蠢的答案,Opik 帮我发现它是不是触及了某些 API 的极限。

我这样做了:

git https://github.com/comet-ml/opik 
cd opik 
./opik.sh

然后我将其添加到一些代码中:

import opik 

opik.configure(use_local= True ) 

@opik.track 
def  ask_something ( question ): 
    return  "你问: " + question 

ask_something( "晚餐吃什么?" )我让 Claude 检查日志:
告诉我我的人工智能做了什么。

它向我显示了每个呼叫、所用的时间以及所有这些信息。

它就像你的AI的间谍,帮助你快速发现问题。

4. GitHub:与你一起编码的AI

这个服务器直接来自 GitHub,它可以让你的 AI 深入挖掘你的代码库。我以前忙得不可开交,需要查看项目进度,又不想打开无数个标签页的时候就用过它。Claude 刚刚给了我一份未解决的问题清单——超级有用。

设置如下:

git clone https://github.com/github/github-mcp-server 
cd github-mcp-server 
npm install 
export GITHUB_TOKEN=your_token 
npm start

它在 localhost:4000。我说:

我的 repo 副业怎么样了?

AI的回答是:

 存在两个问题 :一个是登录时的错误,另一个是关于添加共享按钮的错误。          

让我免于被 GitHub 通知淹没。

5. FastAPI-MCP:你的AI调用你的API

FastAPI-MCP 可以将 FastAPI 应用转变为 AI 可以使用的工具。我创建了一个小型 API 来跟踪我的待办事项列表,这样 Claude 就可以自动检查,无需我额外操作。

以下是我所做的:

git clone https://github.com/jlowin/fastmcp 
cd fastmcp 
pip install fastapi-mcp 
from fastapi import FastAPI
from fastmcp import mcp

app = FastAPI()

@app.get("/todo/{item_id}")
async def get_todo(item_id: int):
    return {"id": item_id, "task": f"Task {item_id}"}

@mcp.tool()
async def get_todo_tool(item_id: int):
    return await get_todo(item_id)

使用 uvicorn main:app — reload 运行它,将其挂接到 localhost:8000,并告诉 Claude:

我的待办事项清单上的第 5 项 任务是什么?回复:
任务5 是“给妈妈打电话”。

为什么这些值得你花时间

这些服务器我都用得非常开心。Stagehand 非常适合处理网页内容,Jupyter 非常适合处理数据,Opik 非常可靠,GitHub 是程序员的梦想,而 FastAPI-MCP 则让我可以构建任何内容。它们都是免费的,而且如果你喜欢的话,还可以进行一些调整。

我学到了以下几点:

先从听起来有趣的开始。我首先选择了 GitHub,因为我总是在用 repos。

我使用 Claude Desktop 来测试这些东西。

检查 GitHub 上每个服务器的自述文件 — — 它包含好东西。

在做正式决定之前先在本地尝试一下。

### 如何配置MCP服务器及其最佳实践 配置MCP(Multi-Client Protocol)服务器涉及多个方面,包括理解其基本架构、设置环境以及优化性能。以下是关于如何配置MCP服务器的一些关键点: #### MCP服务器的基础概念 MCP协议允许客户端与服务器之间通过特定的消息传递机制进行通信。它分为客户端和服务器端两部分,在实际应用中可以先专注于服务器端的搭建[^2]。 #### 配置MCP服务器的关键步骤 1. **选择合适的传输方式** - MCP支持多种数据传输方法,比如`stdio`或`SSE (Server-Sent Events)`。如果计划使用`stdio`作为主要传输手段,则需确保客户端能够解析标准输入/输出流中的消息;而采用`SSE`则需要提供有效的URL地址供客户端访问[^3]。 2. **设定连接参数** - 对于基于`stdio`的服务来说,主要是指定启动程序所需的命令行选项。 - 如果是网络服务形式(`SSE`),那么应该明确指出用于接收请求的具体HTTP路径或者WebSocket链接。 3. **集成到现有系统** - 开发者可以选择直接构建自己的MCP实现方案,也可以利用已有的开源项目快速上手。例如某些平台上已经存在可立即部署使用的预建MCP服务器实例。 4. **测试与调试** - 完成初步配置之后,务必进行全面的功能验证以确认所有预期行为均正常运作。可以通过模拟不同类型的用户交互场景来进行压力测试并调整资源分配策略[^1]。 5. **安全性考量** - 考虑到网络安全的重要性,在开放外部接口之前应实施必要的身份认证措施防止未授权访问。同时也要注意保护敏感信息不被泄露给未经授权的一方。 6. **文档记录维护** - 清晰详尽的技术文档有助于后续团队成员的理解和支持工作。定期更新指南说明任何改动之处以便长期管理更加便捷高效。 ```bash # 示例:简单的MCP Server初始化脚本(伪代码) #!/bin/bash # 设置基础变量 SERVER_NAME="My_MCP_Server" PORT=8080 echo "Starting $SERVER_NAME on port $PORT..." # 启动服务逻辑... ./mcp_server --port=$PORT & PID=$! trap 'kill $PID' EXIT wait $PID ``` 以上内容概括了从零开始建立一个功能性完备的MCP server所需要遵循的主要指导原则和技术要点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值