Renxt MCP服务器
一个模型上下文协议(MCP)服务器,为Claude Desktop提供对Blackbaud Raiser的Edge NXT(RENXT)API的访问,用于成分管理。
特性
- 列出成分:检索成分的分页列表
- 搜索成分:按姓名、电子邮件或查找ID搜索选民
- 获取成分详细信息:获取特定成分的详细信息
- OAuth令牌管理:自动令牌刷新和安全凭证处理
- Claude桌面集成:通过MCP与Claude Desktop无缝集成
先决条件
- Node.js(v18或更高版本)
- 具有RENXT API访问权限的Blackbaud开发人员帐户
- Claude桌面应用程序
安装
- 克隆存储库
git clone https://github.com/RynneSpin/renxt-mcp.git
cd renxt-mcp- 安装依赖项
npm install- 设置环境变量
创建一个 .env 项目根目录中的文件:
BLACKBAUD_CLIENT_ID=your_client_id_here
BLACKBAUD_CLIENT_SECRET=your_client_secret_here
BLACKBAUD_SUBSCRIPTION_KEY=your_subscription_key_here
BLACKBAUD_REDIRECT_URI=http://localhost:5173/callback
PORT=5173- 使用Blackbaud进行身份验证
npm run auth这将打开一个用于OAuth身份验证的浏览器窗口并保存您的令牌。
Claude桌面配置
将服务器添加到Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"renxt": {
"command": "/usr/local/bin/node",
"args": ["/path/to/renxt-mcp/server.js"],
"cwd": "/path/to/renxt-mcp"
}
}
}替换 /path/to/renxt-mcp 带有项目目录的实际路径。
可用工具
list_constituents
列出具有可选限制参数的成分。
参数:
limit(可选):要返回的最大成分数(1-50,默认值:10)
Claude中的示例用法:
“列出前5个组成部分”
search_constituents
按文本条件搜索成分。
参数:
search_text(必填):要搜索的文本search_field(可选):要搜索的字段(name,email_address,lookup_id)strict_search(可选):是否执行严格搜索limit(可选):返回的最大结果(1-50,默认值:10)
Claude中的示例用法:
“搜索名为‘Smith’的选民”
get_constituent
检索特定成分的详细信息。
参数:
id(必填):成员的系统ID
Claude中的示例用法:
“获取成员ID 12345的详细信息”
发展
运行服务器
npm start项目结构
renxt-mcp/
├── server.js # Main MCP server implementation
├── auth.js # OAuth authentication flow
├── package.json # Dependencies and scripts
├── .env # Environment variables (not in repo)
├── tokens.json # OAuth tokens (not in repo)
└── .gitignore # Git ignore rulesAPI集成
服务器与以下Blackbaud RENXT API端点集成:
GET /constituent/v1/constituents-列出成分GET /constituent/v1/constituents/{id}-获取组成详细信息GET /constituent/v1/constituents/search-搜索成分
安全
- 环境变量:敏感凭据存储在
.env文件(未在git中跟踪) - 许可证管理:OAuth令牌过期时会自动刷新
- 安全存储:令牌存储在本地
tokens.json(未在git中跟踪)
故障排除
服务器在Claude Desktop中显示为“已禁用”
- 确保
cwdClaude Desktop配置中的路径正确 - 使用验证Node.js路径
which node并更新command领域 - 检查所有依赖项是否已安装
npm install - 配置更改后重新启动Claude Desktop
身份验证问题
- 在中验证您的Blackbaud开发人员凭据
.env - 确保您的重定向URI与Blackbaud应用程序中配置的URI匹配
- 重新运行身份验证:
npm run auth
API错误
- 检查您的Blackbaud订阅密钥是否有效
- 在Blackbaud开发者控制台中验证您的API权限
- 确保令牌未过期(自动刷新应处理此问题)
贡献
- 分叉存储库
- 创建要素分支:
git checkout -b feature-name - 进行更改并提交:
git commit -m 'Add feature' - 推到分支:
git push origin feature-name - 提交拉取请求
许可证
该项目根据ISC许可证获得许可。
支持
关于以下问题:
- MCP服务器:在此存储库上打开一个问题
- Blackbaud API:请咨询 Blackbaud开发人员文档
- 克劳德桌面:检查 Claude桌面文档
______________________________________________________________________
内置于❤️ 为使用Blackbaud Raiser Edge NXT的非营利社区提供服务。
