Skip to main content
Glama
martinfrasch

ResearchTwin

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
NameRequiredDescriptionDefault
slugYes

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()
  • 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."
        ),
    )

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/martinfrasch/researchtwin'

If you have feedback or need assistance with the MCP directory API, please join our Discord server