mcpField
E
elemindex

elemindex

本地服务
github.com/CloudCorpRecords科研与教育01 周前更新

关于 elemindex

elemindex 是连接 Elements Live 托管 MCP 服务的本地桥接工具,面向化学、材料、物理及文献研究。它转发研究和指标查询,不自行存储数据或计算结果。

主要功能

  1. 01按问题或论文检索文献
  2. 02查询元素研究强度
  3. 03查看主题指标及历史
  4. 04查找元素和主题相关论文
  5. 05使用实验室工具筛选和排序论文

适用场景

  1. 01探索化学问题相关论文
  2. 02查看某元素的研究强度
  3. 03追踪某主题的指标历史
  4. 04通过布尔筛选查找论文

MCP 相关

它作为本地 MCP 服务,将工具调用转发到 Elements Live 托管 MCP 服务并返回结果;也可选择转发 API 密钥。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-elemindex": {
"command": "npx",
"args": [
"-y",
"@reneturcios/elemindex"
]
}
}
}
启动命令npx -y @reneturcios/elemindex

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/elemindex0.1.0
ocighcr.io/cloudcorprecords/elemindex:0.1.0

工具

9

收录的工具列表 · 更新于 1 周前

参数类型必填说明
qstring否用普通语言表述的研究问题。
pageinteger否分页论文结果的结果页码。
paperstring否q 的替代项:用于开始检索的 DOI 或标题。
lensesarray否默认值:全部四个。
page_sizeinteger否每个 lens 的论文数。

详细介绍

elemindex

elemindex 是通往 Elements Live 托管 MCP 服务的轻量本地桥接工具。Elements Live 是一个研究索引,追踪文献中 118 种化学元素以及化合物、材料和主题等更广泛研究对象受到的关注度,并记录支撑这些数据的论文。

该桥接工具不存储数据,也不进行计算。它会在本地提供上游服务的工具列表——列表内容与实时端点上的记录完全一致——并将每次工具调用转发至上游,原样返回结果。部分上游工具可免费使用,另一些则在上游的描述中注明需要付费账户等级;这些限制由上游自行设置,并直接写在工具描述中。此客户端不添加任何限制或支付机制:它可选择转发一个凭据,具体见“配置”部分;否则不会发送自己的凭据。

工具

  • research — 文献查询入口。使用普通文字(q)提出宽泛或具体的化学、材料或物理问题,或从已知论文(paper:DOI 或标题)开始。返回的论文列表分为四种视角——relevant、foundational、now 和 newest,通过 lenses 控制;还可使用 page 和 page_size 翻页。架构未要求任何参数。
  • get_element_ri — 获取一种元素当前的 Research Intensity(RIS),并附带引用 URL。必填:symbol——可填写 Fe 这样的元素符号、Iron 这样的名称,也可填写原子序数。
  • search_subjects — 将自由文本查询(化合物、材料或研究主题)解析为主题工具所需的 subject_type / subject_id 配对。必填:query。
  • get_subject_ri — 获取一个研究主题、关键词或领域的 RI、RIS、HRI 和论文数量。必填:subject_type(keyword 或 sector)和 subject_id;请先用 search_subjects 解析这两个值。
  • get_subject_history — 获取一个主题完整的 RIS/HRI 历史记录;默认按 yearly 粒度,也可按需使用 monthly。必填:subject_type 和 subject_id。
  • get_subject_papers — 获取一个主题的高排名论文:标题、DOI、发表刊物、年份和引用次数。必填:subject_type 和 subject_id。可选:limit(默认为 20,上限为 100)和 sort(impact、newest 或 foundational)。
  • get_element_papers — 获取一种元素的高排名论文;可选用 keyword 缩小范围,聚焦于该元素的一种材料或应用。必填:symbol。可选:limit 和 sort,与上文相同。
  • lab_quote — 使用布尔筛选器(query,或在包含筛选器的围栏代码块中填写 markdown)限定多项条件查询范围。返回匹配数量和 quote_id;在信任筛选器前,请先阅读其 warnings,因为不受支持的术语会被丢弃。架构未要求任何参数。
  • lab_run — 将 lab_quote 的结果转换为排名后的论文。必填:quote_id。可选:depth(默认为 papers_20,也可使用 papers_100)。

配置

  • ELEMENTS_LIVE_MCP_URL(可选)——覆盖上游端点。默认为 https://www.elements-live.com/mcp。 (此重建版本自行标注了该覆盖接口。)
  • ELEMENTS_LIVE_API_KEY(可选)——设置后,该值会在每次上游请求中作为 Authorization: Bearer <key> 发送。未设置时,则完全不发送授权标头。(此重建版本自行标注了此转发功能;原始捕获是在未提供密钥的情况下进行的。)
转发机制

首次调用工具时,客户端会与上游建立可流式传输的 HTTP 会话:先发送 JSON-RPC initialize 请求(protocolVersion 2025-03-26,clientInfo name elemindex),然后发送 notifications/initialized 通知,接着发送携带调用方原样参数的 tools/call 请求。上游通过 initialize 响应返回 Mcp-Session-Id 标头后,该值会随此会话后续的每个 请求一同发送;此会话会在进程运行期间重复使用。 响应可能是纯 JSON,也可能是 服务器发送事件;两种格式都会读取。

成功的上游结果会原样传递, 包括上游设置的任何 isError 标记。 失败情况——JSON-RPC 错误、非 2xx 状态码、 无法读取的响应,或无法完成的请求——会作为 isError 结果返回,其文本以 elemindex error: 开头(此呈现方式 是本次重建自行添加的标签)。

CLI

每个工具也都是一个子命令,接受一个 JSON 参数字符串(不需要参数的工具可省略):

npx @reneturcios/elemindex get_element_ri '{"symbol":"Fe"}'
npx @reneturcios/elemindex search_subjects '{"query":"solid electrolyte"}'
npx @reneturcios/elemindex research
npx @reneturcios/elemindex --version

退出代码:成功时为 0,结果为 isError 时为 1,用法错误时为 2。

MCP 服务

npx -y @reneturcios/elemindex mcp

MCP 客户端配置:

{
  "mcpServers": {
    "elemindex": {
      "command": "npx",
      "args": ["-y", "@reneturcios/elemindex", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/elemindex
docker run --rm ghcr.io/cloudcorprecords/elemindex --version

容器的默认命令是 mcp,因此第一种形式会启动一个 stdio MCP 服务;其他任何参数都会照常传递给 CLI。

开发

npm install
npm run build
npm test
npm run dev

测试套件完全通过桩接的 JSON-RPC 上游运行,不会进行实时网络调用。

许可证

MIT — 参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。