伯纳斯空间是一个统一的MCP服务器,支持所有启用OAuth的集成服务。它解决了当前MCP服务器使用和集成过程中的痛点,只需一个服务器、一个JWT,就能轻松集成多种工具,为用户提供便捷的使用体验。
🚀 用于所有支持OAuth集成的统一MCP服务器
一个服务器 · 一个JWT · 多种工具
✅ 当前实时集成:Slack — 47个工具 已测试并可用
🔜 即将推出: Gmail · Google日历 · Notion
🎯 目标: 100+ 集成
创建一个 .env 文件,并设置以下变量:
JWT_SECRET=your-jwt-signing-secret
DATABASE_URL=postgresql://localhost:5432/mcp_server
CLIENT_ID=
CLIENT_SECRET=
SLACK_REDIRECT_URI=http://localhost:8000/mcp/slack/oauth/callback
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
uv venv && source .venv/bin/activate
uv pip install -e .
python server.py
服务器将监听 http://localhost:8000。docker build -t bernerspace-mcp .
docker run --env-file .env -p 8000:8000 bernerspace-mcp
服务器将监听 http://localhost:8000。docker compose up -d
python generate_jwt.py --user-id
使用打印出的令牌作为:Authorization: Bearer TOKEN
目前使用或集成MCP服务器存在诸多痛点,而伯纳斯空间有效解决了这些问题:
安装步骤请参考快速开始部分。
示例客户端条目(mcp.json):
{
"servers": {
"slack": {
"url": "http://localhost:8000/mcp/slack",
"type": "http",
"headers": {
"Authorization": "Bearer YOUR_JWT"
}
}
}
}
如果用户尚未完成OAuth,工具调用将返回一个包含 requires_auth: true 和 oauth_url 的对象,你可以打开该URL完成授权。
在VS Code用户设置中使用此 mcp.json(将 JWT 替换为你生成的令牌):
{
"servers": {
"slack": {
"url": "http://localhost:8000/mcp/slack",
"type": "http",
"headers": {
"Authorization": "Bearer JWT"
}
}
},
"inputs": []
}
from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
client = MultiServerMCPClient(
{
"slack": {
"transport": "streamable_http",
"url": "http://localhost:8000/mcp/slack",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
},
}
}
)
tools = await client.get_tools()
agent = create_react_agent("openai:gpt-4.1", tools)
response = await agent.ainvoke({"messages": "Can you send hello message to my #general groups?"})
所有设置说明、集成指南和示例都可以在我们的Notion文档中找到: 🔗 伯纳斯空间快速入门文档
文档会定期更新,包含以下内容:
/mcp/slack 返回 oauth_url 和授权工作区的说明。SLACK_REDIRECT_URI(默认为 /mcp/slack/oauth/callback)。oauth_tokens 中,复合键为 (client_id, integration_type),其中 client_id = 你的JWT主题 (sub)。oauth_tokens(client_id, integration_type, token_json, stored_at)。DATABASE_URL 配置Postgres。本项目采用 MIT许可证 进行许可。