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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.