Skip to main content

MCP server for SPARKIT — call the scientific research agent from Claude Desktop, Cursor, and other MCP clients.

Project description

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.)

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 failedSPARKIT_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 outmax_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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sparkit_mcp-0.1.0.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sparkit_mcp-0.1.0-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file sparkit_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: sparkit_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sparkit_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4e83b1833975ba44bc921e5bf95070b9a7bb3cf1feedb67d3d4d99ef8e27f7b1
MD5 3a9dd103ebf830d21f15702a30843288
BLAKE2b-256 eb8f1836da2c246c02008d362d7368ad465f6f8be11a09a29953d6ccb92253c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for sparkit_mcp-0.1.0.tar.gz:

Publisher: publish.yml on SPARKIT-science/sparkit-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sparkit_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: sparkit_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sparkit_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fb2ed15793c6e3790e2f9f91f6eee12805a2b1e5588395a104861b8911ab1a61
MD5 e9aa524d83dff0be9200aa0448a52b30
BLAKE2b-256 7f6b1ad3a6d626432830fcbb2eed12a55d61f6c5509a932181ee9331e6e77fac

See more details on using hashes here.

Provenance

The following attestation bundles were made for sparkit_mcp-0.1.0-py3-none-any.whl:

Publisher: publish.yml on SPARKIT-science/sparkit-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page