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 分

    請在儲存庫或註冊中心條目中宣告授權條款。