get_profile
Retrieve researcher profiles with S-Index scores, h-index, citation counts, and links to publications, datasets, and repositories for impact analysis.
Instructions
Get a researcher's profile with S-Index score and summary metrics.
Args: slug: Researcher identifier (e.g. 'martin-frasch'). Use list_researchers to find valid slugs.
Returns structured profile with S-Index, h-index, paper count, citation count, and links to papers/datasets/repos endpoints.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Implementation Reference
- The get_profile tool handler function that fetches a researcher's profile with S-Index score and summary metrics. Takes a slug parameter and returns JSON-formatted data from the ResearchTwin API endpoint /api/researcher/{slug}/profile.
@mcp.tool(annotations=ToolAnnotations(title="Get Researcher Profile", read_only_hint=True)) async def get_profile(slug: str) -> str: """Get a researcher's profile with S-Index score and summary metrics. Args: slug: Researcher identifier (e.g. 'martin-frasch'). Use list_researchers to find valid slugs. Returns structured profile with S-Index, h-index, paper count, citation count, and links to papers/datasets/repos endpoints. """ data = await _get(f"/api/researcher/{slug}/profile") return json.dumps(data, indent=2) - Helper function that makes HTTP GET requests to the ResearchTwin API. Used by get_profile and other tools to communicate with the backend API.
async def _get(path: str, params: dict | None = None) -> dict: """Make a GET request to the ResearchTwin API.""" async with httpx.AsyncClient(timeout=TIMEOUT) as client: resp = await client.get(f"{BASE_URL}{path}", params=params) resp.raise_for_status() return resp.json() - mcp-server/src/mcp_server_researchtwin/server.py:24-32 (registration)FastMCP server instance initialization that serves as the registration point for all MCP tools including get_profile. Tools are registered using the @mcp.tool() decorator.
mcp = FastMCP( name="researchtwin", instructions=( "ResearchTwin is a federated platform for research discovery. " "Use these tools to find researchers, explore their publications, " "datasets, and code repositories, and compute S-Index impact metrics. " "Start with list_researchers or discover to find relevant research." ), )