Skip to main content

Scientific Context Protocol.

Project description

Scientific Context Protocol

This repository is the official implementation of the Scientific Context Protocol. The installable scicon Python package serves hand-authored SCP packages through an MCP interface. A target research repository installs scicon, authors a structured scp-package/ directory, and exposes that package to AI agents through scicon serve.

The server validates structured package files and serves grounded answers through MCP.

Current status

This repository is currently in its MVP phase. This section is the source of truth for the repository's current features and limitations.

Features

  • Package schema objects and closed evidence/predicate vocabularies.
  • Path resolution for --package-dir, SCP_PACKAGE_DIR, and ./scp-package.
  • A typed YAML loader for hand-authored package files.
  • Validation for IDs, statuses, links, predicate legality, section references, and uncertainty.
  • Pure query functions for claims, figures, datasets, methods, code, assumptions, related objects, and resources.
  • A thin FastMCP adapter and CLI subcommands: scicon init, scicon serve, and scicon validate.

Limitations

  • Mining and conversion are mocked, so humans author the package directly.
  • At serve time, the server reads package YAML, not raw papers, notebooks, datasets, or repository files.
  • The repository does not implement automatic artifact mining or general conversion for arbitrary repositories.
  • Controlled operations remain final-product scope: the current MCP interface does not execute commands, download data, or modify files.

Pipeline

scientific output (SCP input)
  -> scp-package/
  -> MCP interface
  -> grounded SCP answers

The scientific output is conceptual input for package authors.

Install and run

Install from this repository in a Python 3.12 environment:

pip install -e .

Validate the shipped example package:

scicon validate --package-dir examples/scp-package

Run the MCP server over stdio:

scicon serve --package-dir examples/scp-package

Register in a target repo

In a target repository, create a hand-authored scp-package/ directory and run:

scicon init .

scicon init writes MCP registration files plus agent instructions, skills, and prompts that tell supported coding agents to query the scp MCP tools first. The command is idempotent and preserves user content outside its managed markers. It registers scicon serve with the relative scp-package path. See docs/init.md for generated files and docs/mcp-server.md for manual MCP registration and path resolution.

Example package

examples/scp-package is the template and fixture shipped with this repository. It contains one small neuroscience-style package with claims, figures, datasets, methods, code artifacts, assumptions, related work, operation recipes, and typed provenance edges.

Documentation

Start here

Author and validate SCP packages

Bootstrap and serve SCP packages

  • docs/init.md: Target-repo bootstrap, managed files, agent targeting, and refresh/uninstall behavior.
  • docs/mcp-server.md: MCP install, registration, tools, resources, and path resolution.

Contribute

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

scicon-0.1.0.tar.gz (64.1 kB view details)

Uploaded Source

Built Distribution

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

scicon-0.1.0-py3-none-any.whl (36.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for scicon-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e18e881e491f11c3f50977e22955b9f834d4966af58db7fee32a29d46dd7a46a
MD5 490321cb1128689d653059fbf5e44bd8
BLAKE2b-256 906734b5478d51d0bed4e30f55a7b4bca0c3ebeca3b296ed7428811f77788107

See more details on using hashes here.

Provenance

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

Publisher: publish-to-pypi.yaml on twinapse/scicon

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

File details

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

File metadata

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

File hashes

Hashes for scicon-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 038e89972ae5df42f5d10700ad9b7be4022c6fa1d10d035e7cee235c768a22bc
MD5 b46053b26b092354f9d570fbe5592ecf
BLAKE2b-256 c59a39473c559407b997ea2b16684ba5f9912637929598b8a82da7c842eed2a3

See more details on using hashes here.

Provenance

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

Publisher: publish-to-pypi.yaml on twinapse/scicon

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