Mcp Server

Mcp Server

🚀 OpenFacet MCP Server

OpenFacet MCP Server是为OpenFacet钻石定价API实现的一个模型上下文协议(MCP)。它借助插值算法和市场深度分析,提供透明、实时的钻石定价数据。该项目仅使用原生JavaScript和核心模块构建,零外部依赖。

MCP协议](https://spec.modelcontextprotocol.io/) 许可证:MIT](https://opensource.org/licenses/MIT) Node.js版本](https://nodejs.org/)

✨ 主要特性

  • 实现MCP 2025‑06‑18(不支持批量处理、结构化内容、版本头)
  • 提供工具:get_diamond_priceget_dcx_indexget_market_depth
  • 支持基于克拉/颜色/净度的实时插值
  • 提供DCX指数和库存快照,每日更新
  • 单文件可部署,无依赖
  • 运行时适配器:
    • Node.js:HTTP服务器、CORS、可配置端口
    • Cloudflare Worker:单fetch入口点

📦 安装指南

本项目需要Node.js ≥18,可按以下步骤克隆仓库:

git clone https://github.com/openfacet/mcp-server.git
cd mcp-server

💻 使用示例

基础用法

本地标准输入输出传输

标准输入输出传输是大多数MCP客户端的默认方式。

# 启动服务器
node stdio.js

发送消息(粘贴以下JSON并按回车键):

{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_diamond_price","arguments":{"carat":1.23,"color":"G","clarity":"VS2"}}}

你将得到类似如下的响应:

{"jsonrpc":"2.0","id":1,"result":{"content":[{"type":"text","text":"💎 **钻石价格报价**\n\n**规格:**\n• 克拉:1.23ct\n• 颜色:G\n• 净度:VS2\n• 形状:圆形\n\n**定价:**\n• 每克拉:$4,487\n• 总价:$5,519.01\n\n*价格来自OpenFacet.net API*"}],"_meta":{"timestamp":"2025-07-11T10:21:50.460Z","source":"OpenFacet.net API"}}}

本地Node.js HTTP服务器

默认绑定到localhost:3000/,可用的端点如下:

  • POST /:JSON-RPC入口点
  • GET /health:服务器状态
  • GET /.well-known/mcp.json:发现元数据

远程MCP服务器

用于测试的远程服务器地址为https://mcp.openfacet.net。以下是一个价格查询示例:

curl -X POST https://mcp.openfacet.net/ \
-H "Content-Type: application/json" \
-H "MCP-Protocol-Version: 2025-06-18" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_diamond_price",
"arguments": {
"carat": 1.23,
"color": "G",
"clarity": "VS2"
}
}
}'

工具概要

get_diamond_price

返回圆形/垫形GIA钻石的插值定价。 参数:

  • carat:数字(0.3 - 6.0)
  • color:字符串(D - M)
  • clarity:字符串(FL - I3)
  • shape:字符串(可选,默认值:"round")

get_dcx_index

返回钻石价格趋势的综合指数,无参数。

get_market_depth

返回库存数据,可选参数:

  • carat:数字

📚 详细文档

项目结构

mcp-server/
├── core.js         # 共享逻辑、工具处理程序、插值
├── stdio.js        # 本地标准输入输出传输
├── node.js         # Node.js HTTP服务器(通过CLI或环境变量设置端口)
├── worker.js       # 远程Cloudflare Worker
├── test-core.js    # 原生JS测试运行器
├── mcp-version.js  # 协议版本常量
└── README.md

测试

node test-core.js

测试覆盖以下方面:

  • 插值行为
  • DCX/市场深度解析
  • 错误处理
  • JSON-RPC正确性

🔧 技术细节

插值

  • 在固定断点间进行对数空间插值
  • 在心理阈值(0.3、0.5、1.0等)附近进行锚点平滑处理
  • 如果价格趋势超出某个区间,进行动态提升

规格说明

📄 许可证

本项目采用MIT许可证,详情请见https://opensource.org/licenses/MIT

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-26 05:39

相似服务问题