Skip to main content
Glama

sparkit-mcp

MCP server for SPARKIT — call the scientific research agent from Claude Desktop, Cursor, Claude Code, or any other MCP-compatible client.

Two tools are exposed:

  • research — submit a scientific question. SPARKIT searches the literature, reads the relevant papers, and returns a cited Markdown report. Blocks until the job finishes (default 4 min) and returns the full report inline.

  • get_job_status — fetch a previously-submitted job by id. Useful when research returned before the job finished, or to revisit a past report.

Install

uv tool install sparkit-mcp

Or with pip:

pip install sparkit-mcp

Either installs a sparkit-mcp console script. (Pre-release: install straight from GitHub with uv tool install "git+https://github.com/SPARKIT-science/sparkit-mcp.git" until the first PyPI release lands.)

Related MCP server: scholar-memory

Get an API key

  1. Sign up at https://app.sparkit.science/signup (Try-it costs $10 for 5 queries; subscriptions start at $50/mo).

  2. Visit https://app.sparkit.science/keys and create a key.

  3. Copy the key — it's shown only once.

Configure your MCP client

Claude Desktop

Edit claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add:

{
  "mcpServers": {
    "sparkit": {
      "command": "sparkit-mcp",
      "env": {
        "SPARKIT_API_KEY": "sk_sparkit_..."
      }
    }
  }
}

Restart Claude Desktop. You should see sparkit appear in the tools icon next to the chat input.

If sparkit-mcp isn't on Claude Desktop's PATH (common with uv tool), use the absolute path:

"command": "/Users/you/.local/bin/sparkit-mcp"

(Find the path with which sparkit-mcp after uv tool install.)

Cursor

Edit ~/.cursor/mcp.json (or .cursor/mcp.json in your project):

{
  "mcpServers": {
    "sparkit": {
      "command": "sparkit-mcp",
      "env": {
        "SPARKIT_API_KEY": "sk_sparkit_..."
      }
    }
  }
}

Reload Cursor (Cmd+Shift+P → "Reload Window").

Claude Code

claude mcp add sparkit -e SPARKIT_API_KEY=sk_sparkit_... -- sparkit-mcp

Try it

Once configured, ask the LLM:

Use SPARKIT to look up the most recent literature on the role of WRNIP1 as a synthetic-lethal target in cancer.

The LLM will call research. Expect a 60-180s wait, then a Markdown report with inline citations and a numbered Sources list.

Configuration

Env var

Default

Description

SPARKIT_API_KEY

(required)

Bearer key from https://app.sparkit.science/keys.

SPARKIT_API_BASE

https://jlsteenwyk--sparkit-api-web.modal.run

Override the API base URL. Useful for staging or self-hosted deployments.

SPARKIT_API_TIMEOUT_SECONDS

30

Per-HTTP-request timeout. Doesn't affect total wait time for research; that's max_wait_seconds.

Tool reference

research(question, response_format?, include_citations?, max_wait_seconds?)

Arg

Type

Default

Description

question

string

—

The scientific question. Required. Be specific.

response_format

"full" or "brief"

"full"

Length of the returned Markdown report.

include_citations

boolean

true

Keep true for sourced reports.

max_wait_seconds

int (30-540)

240

How long to block waiting before returning the job_id with instructions to poll.

Returns Markdown. On timeout, returns a status line with the job_id so the LLM can call get_job_status later.

get_job_status(job_id)

Returns the cited Markdown report if the job has completed, a status line if it's still running, or an error message otherwise.

Troubleshooting

Authentication failed — SPARKIT_API_KEY isn't set or is invalid. Check claude_desktop_config.json for typos; restart Claude Desktop after edits.

Quota exhausted — out of monthly queries / Try-it credits. Visit https://app.sparkit.science/billing.

Tool isn't appearing in Claude Desktop — check the Claude Desktop log:

  • macOS: ~/Library/Logs/Claude/mcp-server-sparkit.log

  • Windows: %LOCALAPPDATA%\Claude\Logs\mcp-server-sparkit.log

The most common issue is command: sparkit-mcp not being on PATH; substitute the absolute path from which sparkit-mcp.

Job times out — max_wait_seconds cap is 540s (9 min). For very deep questions, submit then poll get_job_status instead of waiting inline. SPARKIT will also auto-cancel jobs that exceed its own internal limit.

License

MIT.

Available Tools

2 tools
get_job_statusA

Fetch the current status (and result if done) of a SPARKIT job.

Use this when research returned before the job finished, or to revisit a previous result by id.

Args: job_id: The id returned by a prior research call.

Returns the cited Markdown report if the job has completed, a status line if it's still running, or a failure message otherwise.

Inputs: job_id (required). Returns: result

researchA

Submit a scientific question to the SPARKIT research agent.

SPARKIT searches the literature, reads relevant papers, and returns a cited Markdown report. Best for questions where a correct answer requires synthesizing across multiple primary sources.

Args: question: Free-text scientific question. Be specific — "Which kinases are upregulated in pancreatic cancer with evidence from human tissue?" works better than "tell me about pancreatic cancer." response_format: "full" (default) for a multi-paragraph Markdown report, or "brief" for a tighter summary. include_citations: Keep True (default) so the report is usable for downstream work; only set False if you specifically want unsourced prose. max_wait_seconds: How long to block waiting for the job before returning the job_id with instructions to poll via get_job_status. Default 240s (4 min). Range 30-540.

Returns the cited Markdown report on success. If the job is still running at the wait limit, returns the job_id and status so the caller can resume with get_job_status.

Inputs: question (required), response_format, include_citations, max_wait_seconds. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.5/5.0

    Scored across 2 tools

    Disambiguation5/5

    The two tools have clearly distinct purposes: 'research' submits a scientific question and returns either a report or a job ID, while 'get_job_status' retrieves the status or result of a previously submitted job. There is no overlap in functionality.

    Naming Consistency4/5

    Both tool names use snake_case, but 'research' is a single-word noun while 'get_job_status' follows a verb_noun pattern. This minor inconsistency prevents a perfect score.

    Tool Count4/5

    With only two tools, the server covers the essential workflow of submitting a research job and checking its status. While minimal, the count is appropriate for the narrow scope of a scientific research agent.

    Completeness3/5

    The tool set covers the primary use case (submit and retrieve results), but lacks features like job listing, cancellation, or retry. For a simple agent this may suffice, but there are notable gaps in lifecycle management.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables scientific literature research through multi-agent search, analysis, and semantic memory, exposing 9 MCP tools for querying, storing, and retrieving research findings.
      1
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      Enables AI agents to search and retrieve academic papers from arXiv and PubMed with citation-grade extraction, providing clean citations and summaries.
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to run reproducible, high-recall literature search across seven source families with RRF fusion, fetch open-access full texts (falling back to abstracts), expand citations, export BibTeX/RIS, and audit reference coverage — all without any LLM API key, leaving query planning and writing to the agent. Multiple agent clients share one accumulating literature pool and background search jobs that keep running after sessions close.
      3
      MIT