PRRM模型上下文协议服务器

一个独立的MCP服务器,代理工具调用到PRRM REST API,无需数据库连接和PRRM代码库依赖。

  • by carlwestman
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 carlwestman/Vibe-PRRM-MCP

使用说明

@wsvc/prrm-mcp

一个独立的MCP(模型上下文协议)服务器,代理对PRRM(投资组合研究和风险管理)REST API的工具调用。它不需要数据库连接,也不需要PRRM代码库依赖关系——只需要两个环境变量和一个正在运行的PRRM服务器。

建筑

+--------------+    stdio     +------------------+    HTTPS    +--------------+
|  Claude Code | ------------ |  prrm-mcp-client | ---------- |  PRRM VPS    |
|  / OpenClaw  |              |  (this package)  |            |  /api/v1/*   |
+--------------+              +------------------+            +--------------+

MCP服务器通过stdio与AI代理通信,并通过HTTP(S)将每个工具调用转发到PRRM REST API。所有响应都从标准中展开 { data: ... } 信封,并作为JSON文本内容返回。

快速开始

选项A:从npm安装(如果已发布)

# Run directly with npx (no install required)
PRRM_BASE_URL=https://prrm.example.com PRRM_API_TOKEN=your-token npx @wsvc/prrm-mcp

# Or install globally
npm install -g @wsvc/prrm-mcp
PRRM_BASE_URL=https://prrm.example.com PRRM_API_TOKEN=your-token prrm-mcp

选项B:从GitHub安装

如果包没有发布到npm,你可以直接从GitHub仓库安装:

# Install globally from GitHub (uses the packages/mcp-client directory)
npm install -g github:wsvc/Vibe-PRRM-MCP

# Or add to a project
npm install github:wsvc/Vibe-PRRM-MCP

您还可以在本地克隆和构建:

git clone https://github.com/wsvc/Vibe-PRRM-MCP.git
cd Vibe-PRRM-MCP/packages/mcp-client
npm install
npm run build
npm link   # makes 'prrm-mcp' available globally on your machine

# Then run it anywhere
PRRM_BASE_URL=https://prrm.example.com PRRM_API_TOKEN=your-token prrm-mcp

使用Claude代码进行配置

将以下内容添加到您的 claude_desktop_config.json 或 .claude.json.

从npm安装时:

{
  "mcpServers": {
    "prrm": {
      "command": "npx",
      "args": ["@wsvc/prrm-mcp"],
      "env": {
        "PRRM_BASE_URL": "https://prrm.example.com",
        "PRRM_API_TOKEN": "your-agent-token"
      }
    }
  }
}

从本地克隆安装时(调整克隆位置的路径):

{
  "mcpServers": {
    "prrm": {
      "command": "node",
      "args": ["C:/path/to/Vibe-PRRM-MCP/packages/mcp-client/dist/index.js"],
      "env": {
        "PRRM_BASE_URL": "https://prrm.example.com",
        "PRRM_API_TOKEN": "your-agent-token"
      }
    }
  }
}

使用OpenClaw进行配置

将以下内容添加到您的 openclaw.json:

{
  "mcpServers": {
    "prrm": {
      "command": "npx",
      "args": ["@wsvc/prrm-mcp"],
      "env": {
        "PRRM_BASE_URL": "https://prrm.example.com",
        "PRRM_API_TOKEN": "${DOLLAR_BILL_PRRM_TOKEN}"
      }
    }
  }
}

环境变量

变量 必填 描述
PRRM_BASE_URL 是 PRRM服务器的基本URL(例如。 https://prrm.example.com 或 http://IP:3000)
PRRM_API_TOKEN 是 API身份验证的承载令牌,在PRRM设置中创建
PRRM_MCP_DEBUG 否 设置为 true 将所有带有时间戳的API调用记录到stderr

工具目录

该服务器在12个模块中公开了136个工具。每个工具都将1:1(对于合并的列表/获取工具为1:多)映射到PRRM REST API端点。

战略(3个工具)

工具 说明
get_strategy 获取当前投资策略,或设置versionId时的历史版本。警告:历史版本缺少updatedAt字段。
get_strategy_versions 列出投资策略文件的所有版本
update_strategy 用新内容更新投资战略文件

仪器(8个工具)

工具 说明
search_prrm_instruments 按名称、资产类别、状态或部门搜索PRRM工具
get_instrument 通过ID获取特定仪器的详细信息
create_instrument 在系统中创建新仪器
update_instrument 更新现有仪器上的字段
add_external_id 向仪器添加外部标识符
remove_external_id 从仪器中删除外部标识符
search_borsdata_instruments 在Borsdata搜索要导入的仪器
search_yahoo_instruments 在雅虎财经搜索要导入的工具

评论(2个工具)

工具 说明
get_comments 获取仪器或研究报告的评论
add_comment 在工具或研究报告中添加评论

筛选与宇宙(32个工具)

工具 说明
list_screening_profiles 列出筛选配置文件,或在设置id时获取一个
create_screening_profile 使用标准和阈值创建新的筛选配置文件
update_screening_profile 更新现有的筛查档案
delete_screening_profile 删除筛选配置文件
run_screen 执行筛选配置文件以查找匹配的仪器
evaluate_instrument_against_profile 根据配置文件的标准评估单个仪器
get_screen_results 从已完成的筛查中获取结果
create_instruments_from_screening 根据筛选运行结果创建仪器
get_available_kpis 获取筛选标准的可用KPI
get_screening_classifications 获取可用的筛查分类
get_universe 获取当前宇宙(无参数)或过滤后的宇宙(有参数)
update_universe_entry 标记或关闭宇宙中的某个仪器
list_intersection_configs 列出交叉点配置,或在设置id时获取一个
create_intersection_config 创建结合多个配置文件的交叉口配置
update_intersection_config 更新交叉口配置
delete_intersection_config 存档交叉口配置
run_intersection 运行屏蔽交叉管道
list_intersection_runs 列出配置的运行(使用configId),或获取单个运行(使用runId)
get_intersection_diff 比较两个交叉路口的运行情况,看看有什么变化
list_universe_versions 列出宇宙版本,或在设置id时获取一个版本。警告:list返回包装好的{data:[…]},single返回裸对象。
get_universe_diff 比较两个宇宙版本,看看有什么变化
get_universe_staleness 检查当前宇宙有多陈旧
get_position_alerts 获取宇宙的位置级别警报
get_universe_overrides 获取宇宙中的主动手动覆盖
create_universe_override 将手动超控仪器直接添加到宇宙中
bulk_create_instruments 从宇宙版本批量创建乐器
propose_universe 从交叉口管路创建宇宙方案
get_proposal 通过ID获取宇宙提案
update_proposal_instrument 切换宇宙提案中的仪器包含
add_override_to_proposal 在提案中添加手动超控仪表
remove_override_from_proposal 从提案中删除手动覆盖
commit_universe 提交宇宙提案,取代活跃的宇宙

研究(4种工具)

工具 说明
list_research_reports 列出研究报告,或在设置id后获取一份
create_research_report 创建新的研究报告(仪器ID在创建后是可变的)
update_research_report 更新现有研究报告
search_research_semantic 跨研究报告的语义搜索

估值(15种工具)

工具 说明
list_valuation_models 列出模型,或在设置id时获取一个模型
create_valuation_model 创建新的估值模型模板
update_valuation_model 更新现有估值模型
list_valuations_by_instrument 列出工具的估值输出(带instrument_id),或获取一个(带id)
autofill_valuation 自动填充来自Borsdata的估值输入。返回{inputs,sources}——将autofill.inputs(不是包装器)传递给create_scenario
list_scenarios 列出仪器的场景(带instrumentId),或获取一个(带id)
create_scenario 创建新的估值场景(需要输入数据和作者)
update_scenario 更新现有的估值方案
delete_scenario 删除估价方案
copy_scenario 创建现有场景的副本
execute_scenario 执行估值方案以产生输出
get_scenario_history 获取场景的版本历史记录
what_if_valuation 对场景进行一次性假设分析
compare_scenarios 并排比较多个场景
export_scenarios_to_ic 将场景导出到IC会议议程

投资委员会(16种工具)

工具 说明
create_ic_meeting 召开新的投资委员会会议
update_ic_meeting 更新IC会议(状态和/或日期)
list_ic_meetings 列出IC会议,或在设置id时获取一个会议
add_agenda_item 向会议添加议程项目
update_agenda_item 更新现有议程项目
remove_agenda_item 删除议程项目
reorder_agenda_items 设置议程项目的显示顺序
list_prereads 列出议程项目的预读内容,或在设置prereadId时获取预读内容
post_preread 在议程项目后附上一份预读文件
update_preread 更新现有的预读
delete_preread 删除预读内容
post_minutes 发布IC会议纪要
update_minutes 更新现有分钟数
record_decision 记录IC决策
update_decision_status 更新决策状态(待定/已执行/已取消)
list_decisions 使用可选过滤器列出IC决策

投资组合(30种工具)

工具 说明
register_trade 在投资组合中注册新交易
get_positions 获取所有当前投资组合头寸
get_position 获取特定仪器的位置详细信息
update_position_price 更新投资组合头寸的价格
assign_position_sleeve 为子投资组合套筒分配一个位置
get_trade_history 获取交易历史记录,可选择按工具过滤
get_portfolio_summary 获取包括资产净值、回报和关键指标在内的高级投资组合摘要
get_allocation 获取投资组合分配明细
get_fx_exposure 获取投资组合外汇敞口明细
update_trade 更新现有交易
delete_trade 从投资组合中删除交易
get_cash_balances 获取不同货币的现金余额
record_deposit 记录现金存款
record_withdrawal 记录现金提款
get_cash_transactions 使用可选过滤器列出现金交易
update_cash_transaction 更新现金交易
delete_cash_transaction 删除现金交易
get_portfolio_config 获取投资组合配置
update_portfolio_config 更新投资组合配置
get_dividends 使用可选过滤器列出股息
record_dividend 记录股息支付
sync_dividends 同步Borsdata的股息
import_portfolio 导入投资组合数据
import_transactions 从外部来源导入交易
get_margin_summary 获取利润利用率摘要
get_realised_pnl 从已平仓头寸中实现损益
list_sub_portfolios 列出子投资组合(无参数),获取一个(带id),或获取摘要(带summary:true)
create_sub_portfolio 创建新的子投资组合
update_sub_portfolio 更新子投资组合
delete_sub_portfolio 删除子投资组合

性能(8个工具)

工具 说明
get_performance_summary 获取给定时期的投资组合绩效摘要
get_return_series 获取投资组合和基准回报时间序列
get_performance_attribution 按职位、行业或货币获取绩效归因
get_drawdown_analysis 获取投资组合缩减分析
get_benchmark_config 获取当前基准配置
set_benchmark 设定绩效比较的基准工具
list_performance_reports 列出性能报告,或在设置id时获取一个
create_performance_report 创建新的绩效报告

风险(13种工具)

工具 说明
publish_risk_report 发布新的风险报告
list_risk_reports 列出风险报告,或在设置id时获取一个
get_risk_dashboard 获取包含关键指标和警报的当前风险仪表板
get_alert_config 获取当前风险警报触发器配置
create_risk_alert_trigger 创建新的风险警报触发器
update_risk_alert_trigger 更新现有风险警报触发器
delete_risk_alert_trigger 删除风险警报触发器
list_risk_alert_events 列出风险警报事件
acknowledge_risk_alert_event 确认风险警报事件
get_risk_analytics 获取投资组合风险指标(VaR、CVaR、波动率)
get_risk_contributions 获得每个头寸的风险贡献
get_correlation_matrix 获取位置相关矩阵
run_prrm_stress_test 对PRRM组合运行压力测试场景(从Run_stress_test重命名以避免与组合优化器冲突)

通知(4个工具)

工具 说明
get_notifications 使用可选筛选器获取通知
get_unread_notification_count 获取未读通知的计数
mark_notification_read 将特定通知标记为已读
mark_all_notifications_read 将所有通知标记为已读

平台(1个工具)

工具 说明
global_search 搜索所有PRRM实体(仪器、研究、会议等)

MCP资源

服务器公开一个MCP资源:

URI 描述
prrm://guide 一个嵌入式集成指南,涵盖了常见的工作流程,如研究仪器、准备IC会议、监控风险和运行屏幕。

错误处理

服务器从不从工具处理程序抛出异常。HTTP错误被转换为文本内容,以便代理可以读取错误并做出适当的反应。

HTTP状态 行为
200、201 返回 data 响应信封中的字段
400422 返回验证错误消息作为工具结果
401 返回“身份验证失败--检查PRRM_API_TOKEN”
404 返回“未找到”消息
500503 从服务器返回错误消息

发展

先决条件

  • Node.js 18+(使用内置 fetch)
  • 正在运行的PRRM服务器实例

项目结构

packages/mcp-client/
  package.json
  tsconfig.json
  src/
    index.ts              # Entry point, MCP server setup, guide resource
    api-client.ts         # HTTP client wrapper (fetch + auth + error handling)
    tools/
      strategy.ts         # 3 tools
      instruments.ts      # 8 tools
      comments.ts         # 2 tools
      screening.ts        # 32 tools
      research.ts         # 4 tools
      valuation.ts        # 15 tools
      ic.ts               # 16 tools
      portfolio.ts        # 30 tools
      performance.ts      # 8 tools
      risk.ts             # 13 tools
      notifications.ts    # 4 tools
      platform.ts         # 1 tool

构建

cd packages/mcp-client
npm install
npm run build          # Compiles TypeScript to dist/

以开发模式运行

cd packages/mcp-client
PRRM_BASE_URL=http://localhost:3000 PRRM_API_TOKEN=test npm run dev

这使用 tsx 无需构建步骤即可动态执行TypeScript。

运行构建版本

cd packages/mcp-client
PRRM_BASE_URL=http://localhost:3000 PRRM_API_TOKEN=test npm start

出版

cd packages/mcp-client
npm run build
npm publish --access public

该包发布为 @wsvc/prrm-mcp 并且可以与一起运行 npx @wsvc/prrm-mcp 或全球安装。

许可证

有关许可证信息,请参阅存储库根目录。