Elemindex

io.github.CloudCorpRecords由 GitHub 账号 CloudCorpRecords 发布v0.1.0更新于 Nov 7, 2026

Research-intensity trends, papers and metrics for the 118 chemical elements and topics.

已验证STDIO仅桌面知识与记忆数据与分析

概览

AI 生成的概览

连接 Elements Live 研究索引的本地桥接服务,让助手查询 118 种化学元素及相关主题的研究热度与热门论文。

可以做什么
  • 用自然语言或已知论文提出文献问题,按多种视角返回阅读清单
  • 查询单个元素的当前研究强度,以及主题的强度、历史与论文数量
  • 把自由文本查询解析为主题标识,再获取按年或按月的趋势历史
  • 列出主题或元素的热门论文,可按影响力、最新或奠基性排序
  • 用布尔过滤器限定多词问题,并把结果转为排序后的论文列表
适用场景
适合让助手回答化学、材料或物理领域的文献问题,判断某个研究方向有多活跃,或查找某元素、某主题值得阅读的论文。
运行要求
通过 npx 或 Docker 在本地运行,需要网络访问上游 Elements Live 端点。可选环境变量 ELEMENTS_LIVE_MCP_URL(覆盖端点)和 ELEMENTS_LIVE_API_KEY(作为 bearer 令牌发送)。部分工具在上游需要付费账户等级;未设置密钥时,部分调用按次以 USDC 通过 x402 付费。
安装前请注意
该桥接本身不存数据,会把调用转发到上游,因此问题和参数会发送给第三方服务。部分工具需要付费账户等级,未设置密钥时某些调用每次需支付 0.01 或 0.10 USDC(Base 或 Solana)。若设置了 ELEMENTS_LIVE_API_KEY,它会在每次上游请求中作为 bearer 令牌发送。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Elemindex,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

elemindex

elemindex is a thin local bridge to the Elements Live hosted MCP server, a research index that tracks how much attention each of the 118 chemical elements — and a wider set of research subjects such as compounds, materials and topics — is getting in the literature, and which papers sit behind those numbers.

The bridge holds no data and computes nothing. It serves the upstream server's tool list locally — exactly as captured from the live endpoint — and forwards each tool call upstream, returning the result untouched. A few upstream tools are free, while others are described upstream as requiring a paid account tier; that gating is the upstream's own, stated in the tool descriptions themselves. This client adds no gating and no payment machinery: it optionally forwards one credential, described under Configuration, and otherwise sends no credential of its own.

Tools

  • research — the literature entry point. Ask a broad or specific chemistry, materials or physics question in plain words (q), or start from a known paper (paper: a DOI or title). Reading lists come back in four lenses — relevant, foundational, now and newest — controlled with lenses, plus page and page_size for paging. No argument is required by the schema.
  • get_element_ri — the current Research Intensity (RIS) for one element, with a citation URL. Required: symbol — a symbol such as Fe, a name such as Iron, or an atomic number also work.
  • search_subjects — resolve a free-text query (a compound, material or research topic) to the subject_type / subject_id pair the subject tools need. Required: query.
  • get_subject_ri — RI, RIS, HRI and paper count for one research topic, keyword or sector. Required: subject_type (keyword or sector) and subject_id; resolve both with search_subjects first.
  • get_subject_history — the full RIS/HRI history for one subject, at yearly resolution by default or monthly when asked. Required: subject_type and subject_id.
  • get_subject_papers — the top papers for one subject: title, DOI, venue, year and citations. Required: subject_type and subject_id. Optional: limit (default 20, capped at 100) and sort (impact, newest or foundational).
  • get_element_papers — the top papers for one element, optionally narrowed with keyword to one of that element's materials or applications. Required: symbol. Optional: limit and sort, as above.
  • lab_quote — scope a multi-term question with a boolean filter (query, or markdown carrying the filter in a fenced block). Returns match counts and a quote_id; read its warnings before trusting the filter, since unsupported terms are dropped. No argument is required by the schema.
  • lab_run — turn a lab_quote result into its ranked papers. Required: quote_id. Optional: depth (papers_20 by default, or papers_100).

Configuration

  • ELEMENTS_LIVE_MCP_URL (optional) — override the upstream endpoint. Defaults to https://www.elements-live.com/mcp. (The override hook is this rebuild's own labelled reconstruction.)
  • ELEMENTS_LIVE_API_KEY (optional) — when set, its value is sent as Authorization: Bearer <key> on every upstream request. When it is not set, no authorization header is sent at all. (This forwarding is this rebuild's own labelled reconstruction; the original capture was taken keyless.)

Forwarding mechanics

On the first tool call the client opens a streamable HTTP session with the upstream: a JSON-RPC initialize request (protocolVersion 2025-03-26, clientInfo name elemindex), then a notifications/initialized notification, then the tools/call request carrying the caller's arguments unchanged. When the upstream answers initialize with an Mcp-Session-Id header, that value rides on every later request of the session, which is reused for the life of the process. Replies may arrive as plain JSON or as server-sent events; both are read.

Successful upstream results pass through verbatim, including any isError flag the upstream sets. Failures — a JSON-RPC error, a non-2xx status, an unreadable response, or a request that cannot be completed — come back as an isError result whose text starts with elemindex error: (this rendering is this rebuild's own labelled reconstruction).

CLI

Each tool is also a subcommand taking one JSON argument string (omit it for tools that take none):

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

Exit codes: 0 on success, 1 on an isError result, 2 on a usage error.

MCP server

bash
npx -y @reneturcios/elemindex mcp

MCP client config:

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

Docker

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

The container's default command is mcp, so the first form is a stdio MCP server; any other arguments reach the CLI normally.

Development

bash
npm installnpm run buildnpm testnpm run dev

The test suite runs entirely against a stubbed JSON-RPC upstream — no live network calls.

License

MIT — see LICENSE.

来源:README.md,提交 f87c546

工具

9

research

Research reading lists

CALL THIS FIRST for a literature question about chemistry, materials or physics research -- a broad one ('what matters in X') or a specific process or parameter one (a deposition condition, a property value, a defect mechanism). Send the question in plain words (q), or a paper you already know (paper: DOI or title). Returns reading lists in four lenses: relevant (the papers whose TITLE AND ABSTRACT best match the question, across the whole corpus, BM25 -- start here for a specific question), foundational (the classics the question's own papers cite most), now (highest impact, young papers' citations projected) and newest (last two years); plus the research communities and element sub-communities the question is about, with why each matched and whether it is rising. Put the question's key terms in q: filler words are ignored. unmatched_terms lists words that matched nothing; rephrase those. Each paper carries its DOI, a one-line reason and its abstract where one is on file. Our corpus is curated, not complete: the relevant lens also brings up to 3 of every 10 results from OpenAlex, marked source='openalex' and labelled not yet curated. One page = up to 10 papers per lens; ask for page 2+ only if needed. Requires a Personal+ account. Without a key, pay per call: $0.05 in USDC on Base or Solana via x402 (send the payment in _meta["x402/payment"]).

输入参数qpagepaperlensespage_size

get_element_ri

Element research intensity

Get current Research Intensity (RIS) for one of the 118 chemical elements, with a citation URL. No API key needed. Historical RI (HRI) is included with a Personal+ key.

输入参数symbol必填

search_subjects

Search research subjects

Resolve a free-text query (a compound, material, or research topic) to its subject_type/subject_id for use with get_subject_ri. Free with any API key. Without a key, pay per call: $0.01 in USDC on Base or Solana via x402 (send the payment in _meta["x402/payment"]).

输入参数query必填

get_subject_ri

Subject research intensity

Get RI, RIS, HRI and paper count for one research topic/keyword/sector. Requires a Personal+ account -- call search_subjects first to resolve subject_type/subject_id. Without a key, pay per call: $0.01 in USDC on Base or Solana via x402 (send the payment in _meta["x402/payment"]).

输入参数subject_id必填subject_type必填

get_subject_history

Subject research history

Full yearly (or monthly) RIS/HRI history for one topic/keyword/sector. Requires a Personal+ account. Without a key, pay per call: $0.10 in USDC on Base or Solana via x402 (send the payment in _meta["x402/payment"]).

输入参数resolutionsubject_id必填subject_type必填

get_subject_papers

Top papers for a subject

The top papers for one research topic (resolve it with search_subjects first) -- title, DOI, venue, year, citations. Use it when asked what to READ about a specific topic, rather than how active it is. sort=impact (default) favours recent, well-cited work; sort=foundational gives the most-cited classics; sort=newest the latest. Each paper carries its abstract where one is on file (about 6 in 10). Requires a Personal+ account. Capped at 100 papers with no pagination. Without a key, pay per call: $0.02 for up to 20 papers, $0.10 for up to 100, in USDC on Base or Solana via x402 (send the payment in _meta["x402/payment"]).

输入参数sortlimitsubject_id必填subject_type必填

get_element_papers

Top papers for an element

The top papers for one element, narrowed with keyword to one of its materials or applications (e.g. symbol='Al', keyword='aluminum nitride'; the keyword must name one of the element's topics exactly, case aside -- search_subjects finds topic names). Returns title, DOI, venue, year, citations. sort=impact (default) favours recent, well-cited work; sort=foundational gives the most-cited classics; sort=newest the latest. Each paper carries its abstract where one is on file (about 6 in 10). Requires a Personal+ account. Capped at 100 papers with no pagination. Without a key, pay per call: $0.02 for up to 20 papers, $0.10 for up to 100, in USDC on Base or Solana via x402 (send the payment in _meta["x402/payment"]).

输入参数sortlimitsymbol必填keyword

lab_quote

Lab: scope a filtered query

Scope a multi-term question with a boolean filter: +must -exclude "exact topic" (a OR b) wild* year:2015..2026, over element symbols or names and EXACT topic names (e.g. +Li +Co "solid electrolyte" -sulfide). Words that are neither are DROPPED, and wildcards can expand into unrelated fields: read `warnings` first -- it lists every dropped term with the nearest topics, every abbreviation read as a topic, and every wildcard expansion. Returns how many papers match, by year and by research community, the nearest broader query when nothing matches, and a quote_id that lab_run turns into the ranked papers. Narrow filters (two elements + one topic) work best. Requires a Professional+ account. Without a key, pay per call: $0.01 in USDC on Base or Solana via x402 (send the payment in _meta["x402/payment"]).

输入参数querymarkdown

lab_run

Lab: papers for a quote

Get the papers for a lab_quote: pass its quote_id and a depth (papers_20 or papers_100) to get the top papers matching the quoted filter, ranked by impact, with the curation behind each rank. Each paper carries its abstract where one is on file (about 6 in 10). A stale or expired quote is refused. Requires a Professional+ account. Without a key, pay per call: the quoted price of the depth, less the $0.01 quote credit in USDC on Base or Solana via x402 (send the payment in _meta["x402/payment"]).

输入参数depthquote_id必填

版本历史

1
  1. v0.1.0最新Nov 5, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分