Skip to main content
Glama
martinfrasch

ResearchTwin

by martinfrasch
README.md
<!-- mcp-name: io.github.martinfrasch/researchtwin -->

# mcp-server-researchtwin

MCP server for **ResearchTwin** — inter-agentic research discovery across a federated network of researcher digital twins.

Exposes the [ResearchTwin](https://researchtwin.net) platform API as [Model Context Protocol](https://modelcontextprotocol.io) tools, enabling AI agents to discover researchers, explore publications, datasets, repositories, and compute S-Index impact metrics.

## Tools

| Tool | Description |
|------|-------------|
| `list_researchers` | List all researchers registered on the platform |
| `get_profile` | Get a researcher's profile with S-Index score |
| `get_context` | Get comprehensive research context with all data source metrics |
| `get_papers` | Get publications with citation counts |
| `get_datasets` | Get datasets with QIC (Quality × Impact × Collaboration) scores |
| `get_repos` | Get code repositories with QIC scores |
| `discover` | Search across all researchers for papers, datasets, or repos |
| `get_network_map` | Get geographic affiliations for all researchers |

## Resources

| URI | Description |
|-----|-------------|
| `researchtwin://about` | Platform information and available tools |

## Installation

```bash
pip install mcp-server-researchtwin
```

Or install from source:

```bash
git clone https://github.com/martinfrasch/researchtwin.git
cd researchtwin/mcp-server
pip install -e .
```

## Usage

### Claude Desktop

Add to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "researchtwin": {
      "command": "mcp-server-researchtwin"
    }
  }
}
```

### Claude Code

Add to your Claude Code MCP settings:

```json
{
  "mcpServers": {
    "researchtwin": {
      "command": "mcp-server-researchtwin"
    }
  }
}
```

### Custom base URL

To point at a local or self-hosted ResearchTwin instance:

```bash
RESEARCHTWIN_URL=http://localhost:8000 mcp-server-researchtwin
```

Or in Claude Desktop config:

```json
{
  "mcpServers": {
    "researchtwin": {
      "command": "mcp-server-researchtwin",
      "env": {
        "RESEARCHTWIN_URL": "http://localhost:8000"
      }
    }
  }
}
```

## Example conversations

Once connected, you can ask your AI agent:

- *"Who are the researchers on ResearchTwin?"*
- *"Show me Martin Frasch's publications and S-Index score"*
- *"Find all datasets related to fetal monitoring"*
- *"What repositories have the highest QIC scores?"*
- *"Show me the geographic distribution of the research network"*

## Requirements

- Python 3.10+
- Network access to `researchtwin.net` (or your configured instance)

## License

MIT

TDQS

A4.4/5.0

Scored across 8 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no ambiguity. The tools are well-separated by function: discovery across researchers, getting different types of researcher-specific content (context, datasets, papers, repos, profile), listing researchers, and network mapping. The descriptions explicitly differentiate similar tools like get_context vs get_profile.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with clear, descriptive names. The naming convention is perfectly uniform: discover, get_context, get_datasets, get_network_map, get_papers, get_profile, get_repos, list_researchers. Every tool name immediately communicates its function.

Tool Count5/5

With 8 tools, this is well-scoped for a research platform. Each tool earns its place by covering distinct aspects of researcher data exploration: discovery, listing, detailed profiling, and specific content types. The count is appropriate for the domain without being overwhelming or insufficient.

Completeness5/5

The tool surface provides complete coverage for exploring a research network. It includes discovery across researchers, listing all researchers, comprehensive profiling (both summary and detailed context), and access to all research outputs (papers, datasets, repositories). The network map adds valuable geographic context, creating a well-rounded set with no obvious gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues