Skip to main content

Paper Scoring MCP

MCP v2 transport adapter for paper-scoring-core. It accepts normalized paper content, invokes an explicitly configured assessment connector, and returns the versioned core ScoreResult schema.

Install

Choose the provider extra needed at runtime:

python -m pip install "paper-scoring-mcp[openai]==0.1.0"

On Windows, the equivalent command is:

py -m pip install "paper-scoring-mcp[openai]==0.1.0"

The ollama, openalex, and all extras are also available. Dependencies between Paper Scoring repositories are normal PyPI requirements; no Git or filesystem dependency is embedded in the distribution.

Runtime configuration

Configuration is read only when the executable starts. Importing the package does not read .env or process environment values. Pass a UTF-8 file explicitly when dotenv injection is wanted:

paper-scoring-mcp --env-file .env --transport stdio

Existing process values take precedence over values in the file. The --env-file loader accepts only the keys shown in .env.example, which prevents an accidental dotenv file from changing unrelated process behavior. Never commit a populated .env file.

Transports

STDIO is suitable for local agent clients and keeps diagnostic logging on stderr so stdout remains an MCP protocol channel:

paper-scoring-mcp --env-file .env --transport stdio

Streamable HTTP exposes the MCP endpoint at /mcp:

paper-scoring-mcp --env-file .env --transport streamable-http \
  --host 127.0.0.1 --port 8000

PowerShell uses the same executable without shell-specific syntax:

paper-scoring-mcp --env-file .env --transport streamable-http --host 127.0.0.1 --port 8000

DNS-rebinding protection is always enabled. A wildcard bind accepts only loopback Host values by default. For a deliberate reverse-proxy deployment, repeat --allowed-host and --allowed-origin with the exact public values. The server does not provide authentication, so keep it on loopback or place it behind an authenticated reverse proxy.

The server exposes health, get_scoring_contract, and score_paper. source_url is treated as paper metadata; the MCP adapter never fetches a URL or accepts a local filesystem path.

Docker Compose

Docker Compose injects the selected environment file at container start. The published port is loopback-only, the root filesystem is read-only, Linux capabilities are dropped, and the image runs as an unprivileged user. Runtime Python dependencies are exported from uv.lock, hash-verified, and installed from public PyPI during the image build.

cp .env.example .env
docker compose up --build

To select a different runtime file without copying it into the image:

PAPER_SCORING_ENV_FILE=/absolute/path/runtime.env docker compose up --build

In PowerShell:

$env:PAPER_SCORING_ENV_FILE = "C:\\secure\\paper-scoring.env"
docker compose up --build

Metadata

Release files for paper-scoring-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for paper-scoring-mcp 0.1.0
File Size Uploaded Provenance Actions
paper_scoring_mcp-0.1.0.tar.gz 12.3 kB Without provenance Details for paper_scoring_mcp-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for paper-scoring-mcp 0.1.0
File Interpreter ABI Platform Actions
paper_scoring_mcp-0.1.0-py3-none-any.whl Python 3 none any Details for paper_scoring_mcp-0.1.0-py3-none-any.whl

Total release size: 23.0 kB

Release files / paper_scoring_mcp-0.1.0.tar.gz

Download URL paper_scoring_mcp-0.1.0.tar.gz
Size 12.3 kB
Tags Source
SHA-256 checksum
How to use checksums
cb73d302ac40799ea374a92b48ae5ee82d3ee18e678896f44f38301db00e8493
BLAKE2b-256 checksum
How to use checksums
2b01400b940d2ac3a1241b493ac0f98d6d1c6b963a8a9ab62c953eb1ea703308
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / paper_scoring_mcp-0.1.0-py3-none-any.whl

Download URL paper_scoring_mcp-0.1.0-py3-none-any.whl
Size 10.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a51b8b1665ff05cec4b6da61ca2846e06109d3c3d07967e3cc06237fd3702fc6
BLAKE2b-256 checksum
How to use checksums
86941a94314a28df6788ec503893ab4122bdf57c7e7e89d85706406cd9b40e15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Security for paper-scoring-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page