Skip to main content

originalpictures-mcp-scopes: scope vocabulary for the Original Pictures MCP server

originalpictures-mcp-scopes is the dependency-free, versioned list of API-key scopes that the Original Pictures MCP server, originalpictures-mcp, can be configured with. The server and the Original Pictures Connect catalog import the same object, so the two cannot drift.

from originalpictures_mcp_scopes import SCOPE_CATALOG_VERSION, SUPPORTED_SCOPES, WRITE_SCOPES

Most people never install this package directly: pip install originalpictures-mcp or uvx originalpictures-mcp pulls it in. Install it yourself when you build tooling that validates an MCP configuration, generates a key request, or audits which tools an assistant can reach.

What it does

Original Pictures signs media with C2PA Content Credentials, can add an invisible watermark and perceptual fingerprints, and verifies what a file declares about its origin. Its MCP server lets AI assistants use those features, but only through the scopes you allow. This package defines those scopes:

Scope Enables (in originalpictures-mcp) Writes or bills
identity:read get_current_user no
assets:read list_assets, get_asset, list_receipts, get_signing_receipt no
jobs:read list_jobs, get_job, list_recipes no
recipes:read get_recipe no
billing:read get_usage, get_pricing no
verifications:read list_verifications, get_verification_history no
recovery:read get_verification no
sign:write sign (C2PA signing, optional watermark and fingerprints) yes
verify:write create_verification, verify_public yes
  • SUPPORTED_SCOPES: every scope an MCP tool can require (a frozenset[str]).
  • WRITE_SCOPES: the scopes whose tools change state or start billable work (sign:write, verify:write). Every other scope is read-only.
  • SCOPE_CATALOG_VERSION: op.mcp-scopes.v2 since sign:write was added on 2026-10-19.

Why use it

  • One source of truth for scope names, shared by the server and the catalog.
  • Versioned, so a change in the vocabulary is visible in SCOPE_CATALOG_VERSION.
  • No runtime dependencies, typed (py.typed), safe to import anywhere.

Install

pip install originalpictures-mcp-scopes

Requires Python 3.12 or later.

Examples

1. Validate a configured allowlist

from originalpictures_mcp_scopes import SUPPORTED_SCOPES

configured = {"assets:read", "jobs:read", "sign:wirte"}
unknown = configured - SUPPORTED_SCOPES
if unknown:
    raise SystemExit(f"unknown MCP scopes: {sorted(unknown)}")

2. Refuse a configuration that can spend money

from originalpictures_mcp_scopes import WRITE_SCOPES

scopes = set("assets:read,jobs:read,recipes:read,verifications:read".split(","))
assert not scopes & WRITE_SCOPES, "this assistant must stay read-only"

3. Record which vocabulary a review covered

from originalpictures_mcp_scopes import SCOPE_CATALOG_VERSION

print(f"reviewed against {SCOPE_CATALOG_VERSION}")  # reviewed against op.mcp-scopes.v2

Configuration

None. The MCP server reads its allowlist from ORIGINALPICTURES_MCP_SCOPES (comma-separated); see originalpictures-mcp.

FAQ

Is this C2PA? This package only names scopes. The MCP server it serves signs with standard C2PA Content Credentials; Original Pictures is listed on the C2PA Conforming Products List as a generator product under the C2PA Conformance Program 0.2.

Is Original Pictures audited? Original Pictures Technologies, Inc. holds ISO/IEC 27001:2022 certification for its information security management system (GCAI, certificate GCAI-ISMS-PD91) and ISO/IEC 42001:2023 certification for its AI management system (TNV). It has a SOC 2 Type I report from Percilchofe CPA LLC as of 19 October 2026, and runs a GDPR compliance program. The certifications cover management systems, not this package. See Security and compliance.

Does it store or send anything? No. It is a few constants and makes no network calls.

How do I get an API key with these scopes? In the console, under API keys. See pricing for what the billable tools cost.

Licence

Licensed under the Apache License, Version 2.0; the full text is in the LICENSE file shipped with this package. Copyright © 2026 Original Pictures Technologies, Inc. The licence grants no rights to the Original Pictures name or logo.

Metadata

Release files for originalpictures-mcp-scopes 1.0.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 originalpictures-mcp-scopes 1.0.0
File Size Uploaded Provenance Actions
originalpictures_mcp_scopes-1.0.0.tar.gz 7.5 kB With provenance Details for originalpictures_mcp_scopes-1.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for originalpictures-mcp-scopes 1.0.0
File Interpreter ABI Platform Actions
originalpictures_mcp_scopes-1.0.0-py3-none-any.whl Python 3 none any Details for originalpictures_mcp_scopes-1.0.0-py3-none-any.whl

Total release size: 15.9 kB

Release files / originalpictures_mcp_scopes-1.0.0.tar.gz

Download URL originalpictures_mcp_scopes-1.0.0.tar.gz
Size 7.5 kB
Tags Source
SHA-256 checksum
How to use checksums
565fd919b3b4b6b363b23596555848e9212140395893bc6e65a6afdafac0beb8
BLAKE2b-256 checksum
How to use checksums
cdc8bb24b2cd470efdf3c4ede56add5840e24114a2ccd0dc3d2637bc29b1d481
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Release files / originalpictures_mcp_scopes-1.0.0-py3-none-any.whl

Download URL originalpictures_mcp_scopes-1.0.0-py3-none-any.whl
Size 8.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
824dbbda19c947bb19656ce79227f8e6dc08828778ff8b2c2ade38a024b9a516
BLAKE2b-256 checksum
How to use checksums
45ce0f9fb66c3b3a69937f16cafaae73eec7319e98fc3af09912c216f733b28c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

Security for originalpictures-mcp-scopes 1.0.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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for originalpictures_mcp_scopes-1.0.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 10, 2026.

Transparency log

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

1.0.0 This release

2 release files Full 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