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

Download files

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

Source Distribution

paper_scoring_mcp-0.1.0.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

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

paper_scoring_mcp-0.1.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: paper_scoring_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 12.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for paper_scoring_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cb73d302ac40799ea374a92b48ae5ee82d3ee18e678896f44f38301db00e8493
MD5 0a199a6fb6de23ddff2f0e9381766105
BLAKE2b-256 2b01400b940d2ac3a1241b493ac0f98d6d1c6b963a8a9ab62c953eb1ea703308

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paper_scoring_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a51b8b1665ff05cec4b6da61ca2846e06109d3c3d07967e3cc06237fd3702fc6
MD5 2785f076442e39a828f6f98237b8f99e
BLAKE2b-256 86941a94314a28df6788ec503893ab4122bdf57c7e7e89d85706406cd9b40e15

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

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