ResearchTwin

io.github.martinfrasch由 GitHub 账号 martinfrasch 发布v0.1.1更新于 Oct 24, 2026

Federated research discovery with S-Index metrics across a network of digital twins.

概览

AI 生成的概览

一个本地 MCP 服务器,将助手接入 ResearchTwin 联邦研究网络,用于发现研究者、论文、数据集和代码仓库。

可以做什么
通过 ResearchTwin 发现 API 查询研究者档案及其论文、数据集和代码仓库,并在可用时包含引用与 S-Index 指标。按关键词和结果类型(如论文)跨研究者检索。根据配置的基础地址,可连接托管的 ResearchTwin 实例或自建的本地节点。
适用场景
当助手需要查询 ResearchTwin 网络中的学术成果、研究者档案或 S-Index 指标,或在文献与协作检索中浏览联邦研究发现数据时适用。
运行要求
以 Python 包形式通过 uvx 在本地运行(需要 Python 运行时)。需要访问 ResearchTwin API 端点,通过 RESEARCHTWIN_URL 环境变量设置(默认使用托管的 researchtwin.net 服务)。该 MCP 服务器本身未声明身份验证。
安装前请注意
查询会发送到所配置的 ResearchTwin 端点,默认是第三方托管服务,因此研究查询和标识符会离开本机。将 RESEARCHTWIN_URL 指向自建节点会改变数据接收方。README 的自托管部分提到平台本身需要单独的 API 密钥,这些不属于本 MCP 服务器的配置。

安装

在 SourceWeft 中

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

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

其他 MCP 客户端

参照 仓库 中的启动说明。

README

ResearchTwin: Federated Agentic Web of Research Knowledge

[arXiv] [License] [Live Platform] [S-Index Spec] [Project Board]

ResearchTwin is an open-source, federated platform that transforms a researcher's publications, datasets, and code repositories into a conversational Digital Twin. Built on a Bimodal Glial-Neural Optimization (BGNO) architecture, it enables dual-discovery where both humans and AI agents collaborate to accelerate scientific discovery.

Live at researchtwin.net | Join the Network | Read the Paper (arXiv)


Project Vision

The exponential growth of scientific outputs has created a "discovery bottleneck." Traditional static PDFs and siloed repositories limit knowledge synthesis and reuse. ResearchTwin addresses this by:

  • Integrating multi-modal research artifacts from Semantic Scholar, Google Scholar, GitHub, and Figshare
  • Computing a real-time S-Index metric (Quality × Impact × Collaboration) across all output types
  • Providing a conversational chatbot interface for interactive research exploration
  • Exposing an Inter-Agentic Discovery API with Schema.org types for machine-to-machine research discovery
  • Enabling a federated, Discord-like architecture supporting local nodes, hubs, and hosted edges

Architecture Overview

BGNO (Bimodal Glial-Neural Optimization)

Data Sources          Glial Layer          Neural Layer         Interface┌──────────────┐    ┌─────────────┐    ┌──────────────┐    ┌────────────┐│Semantic Scholar│───▶│             │    │              │    │  Web Chat  ││Google Scholar │───▶│  SQLite     │───▶│  RAG with    │───▶│  Discord   ││GitHub API     │───▶│  Cache +    │    │  Claude API  │    │  Agent API ││Figshare API   │───▶│  Rate Limit │    │              │    │  Embed     │└──────────────┘    └─────────────┘    └──────────────┘    └────────────┘
  • Connector Layer: Pulls papers (S2+GS with deduplication), repos (GitHub), datasets (Figshare), and ORCID metadata
  • Glial Layer: SQLite caching with 24h TTL, rate limiting, S2+GS title-similarity merge (0.85 threshold)
  • Neural Layer: RAG with Claude — context assembly, prompt engineering, conversational synthesis
  • Interface Layer: D3.js knowledge graph, chat widget, Discord bot, REST API

Federated Network Tiers

TierNameDescriptionStatus
Tier 1Local NodesResearchers run python run_node.py locallyLive
Tier 2HubsLab aggregators federating multiple nodesPlanned
Tier 3Hosted EdgesCloud-hosted at researchtwin.netLive

Inter-Agentic Discovery API

Machine-readable endpoints with Schema.org @type annotations:

EndpointSchema.org TypePurpose
GET /api/researcher/{slug}/profilePersonResearcher profile with HATEOAS links
GET /api/researcher/{slug}/papersItemList of ScholarlyArticlePapers with citations
GET /api/researcher/{slug}/datasetsItemList of DatasetDatasets with QIC scores
GET /api/researcher/{slug}/reposItemList of SoftwareSourceCodeRepos with QIC scores
GET /api/discover?q=keyword&type=paperSearchResultSetCross-researcher search

Getting Started

Hosted (Tier 3) — Zero Setup

  1. Visit researchtwin.net/join.html
  2. Register with your name, email, and research identifiers
  3. Your Digital Twin is live immediately

Local Node (Tier 1) — Full Control

bash
git clone https://github.com/martinfrasch/researchtwin.gitcd researchtwinpip install -r backend/requirements.txtcp node_config.json.example node_config.json# Edit node_config.json with your detailspython run_node.py --config node_config.json

Docker Deployment

bash
cp .env.example .env  # Add your API keysdocker-compose up -d --build

Required API keys: ANTHROPIC_API_KEY (for Claude RAG) Optional: S2_API_KEY, GITHUB_TOKEN, DISCORD_BOT_TOKEN, SMTP credentials


Repository Structure

researchtwin/├── backend/│   ├── main.py              # FastAPI endpoints (REST + Discovery API)│   ├── researchers.py        # SQLite researcher CRUD + token management│   ├── database.py           # SQLite schema, WAL mode, migrations│   ├── models.py             # Pydantic models for all endpoints│   ├── rag.py                # RAG context assembly for Claude│   ├── qic_index.py          # S-Index / QIC computation engine│   ├── email_service.py      # SMTP service for profile update codes│   ├── connectors/           # Data source connectors│   │   ├── semantic_scholar.py│   │   ├── scholarly_lib.py  # Google Scholar via scholarly│   │   ├── github_connector.py│   │   └── figshare.py│   └── discord_bot/          # Discord bot with /research and /sindex├── frontend/│   ├── index.html            # Main dashboard with D3.js knowledge graph│   ├── join.html             # Self-registration page│   ├── update.html           # Email-verified profile updates│   ├── privacy.html          # Privacy policy│   └── widget-loader.js      # Embeddable chat widget├── run_node.py               # Tier 1 local node launcher├── node_config.json.example  # Local node configuration template├── docker-compose.yml        # Docker orchestration├── nginx/                    # Nginx reverse proxy + SSL└── whitepaper.tex            # LaTeX manuscript

Ecosystem

This repository is part of the ResearchTwin Ecosystem project:

RepositoryDescription
researchtwinFederated platform (this repo)
s-indexS-Index formal specification and reference implementation

Embeddable S-Index Widget

Show your S-Index on your lab website, Google Sites page, or personal homepage:

html
<iframe  src="https://researchtwin.net/embed.html?slug=YOUR-SLUG"  width="440" height="180"  style="border:none; border-radius:12px;"  loading="lazy"></iframe>

Replace YOUR-SLUG with your researcher slug (e.g. martin-frasch).

Google Sites: Edit page > Insert > Embed > "By URL" tab > paste https://researchtwin.net/embed.html?slug=YOUR-SLUG

WordPress: Add a Custom HTML block and paste the iframe code.

The widget displays the researcher's name, S-Index score, h-index, citation count, and paper count. Data updates automatically from live API sources.

See it in action | Full embed instructions


Documentation

DocumentDescription
API ReferenceFull REST API documentation with schemas and examples
Self-Hosting GuideTier 1 Local Node setup and configuration
Hub Federation GuideTier 2 Hub architecture and setup (planned)
Security PolicyVulnerability reporting and security best practices

Contributing

Contributions welcome! See the project board for tracked issues.

  • New connectors (ORCID enrichment, PubMed, OpenAlex)
  • Affiliation-based geographic mapping
  • MCP server for inter-agentic discovery
  • UI/UX improvements
  • Bug fixes and optimizations

License

MIT License. See LICENSE.


Contact


Empowering researchers and AI agents to discover, collaborate, and innovate together.

来源:README.md,提交 32c9b8d

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.1最新Sep 16, 2026

评分

已满足适用检查项的 40%

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

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

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

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。