Skip to content

Add server: orphograph - #365

Open
Orphograph wants to merge 1 commit into
pathintegral-institute:mainfrom
Orphograph:add-orphograph-server
Open

Add server: orphograph#365
Orphograph wants to merge 1 commit into
pathintegral-institute:mainfrom
Orphograph:add-orphograph-server

Conversation

@Orphograph

@Orphograph Orphograph commented Jul 26, 2026

Copy link
Copy Markdown

Adds Orphograph to the registry.

What it does: hashes a file, folder, or a string of agent-generated output locally, then commits that fingerprint to the Bitcoin blockchain via OpenTimestamps. The result is a receipt a third party can verify against the public chain — no account, and without trusting the operator or the service.

Privacy: the file body never leaves the machine. Only SHA-256/SHA-512 fingerprints are transmitted.

Tools: orphograph_anchor_file, orphograph_anchor_folder (RFC-6962 Merkle manifest, one root per dataset), orphograph_anchor_output, orphograph_verify_receipt, orphograph_list_vault

Install: single file, Python >=3.9 standard library only, no dependencies:
curl -sSL https://orphograph.com/mcp/orphograph_mcp.py -o orphograph_mcp.py

Scope, stated plainly: a receipt establishes that a specific byte string existed by a specific time. Not authorship, not ownership, not correctness, and not copyright registration. No token is involved — nothing minted, nothing for sale; OpenTimestamps and the verifier are open source and work independently of the service.

Verifiable sample receipt: https://orphograph.com/certificate/XwTULwlh76PcCst9

  • JSON added at mcp-registry/servers/orphograph.json
  • Validated locally: python3 scripts/validate_manifest.py✓ orphograph: Valid
  • Repository is public and MIT licensed
  • Install command tested — returns 200, and the downloaded file answers an MCP initialize handshake

Prepared with assistance from an AI agent; all facts above were verified against the live endpoints.

Summary by CodeRabbit

  • New Features
    • Added the orphograph MCP server to the registry.
    • Included installation details, metadata, classification tags, and example prompts for timestamping, anchoring, and receipt verification.

Bitcoin-anchored proof-of-existence receipts for files, folders, and
agent-generated output. Hashing is local; only the fingerprint is
transmitted. Validated with scripts/validate_manifest.py.
Copilot AI review requested due to automatic review settings July 26, 2026 02:26
@coderabbitai

coderabbitai Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Adds a new orphograph MCP server registry entry with metadata, repository and licensing details, classification tags, Python installation instructions, and example prompts for timestamping, anchoring, and receipt verification.

Changes

Orphograph registry

Layer / File(s) Summary
Orphograph server registry definition
mcp-registry/servers/orphograph.json
Adds server metadata, repository and homepage links, author and license information, categories and tags, a custom Python installation command, and example interactions.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Suggested reviewers: copilot

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the change: it adds the Orphograph MCP server to the registry.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Warning

⚠️ This pull request has been flagged as potential spam (promotional) by CodeRabbit slop detection and should be reviewed carefully.

@qodo-code-review

Copy link
Copy Markdown
Contributor

PR Summary by Qodo

Register Orphograph MCP server in the registry

✨ Enhancement ⚙️ Configuration changes 🕐 Less than 10 minutes

Grey Divider

AI Description

• Add Orphograph to the MCP server registry with metadata, tags, and license.
• Document a dependency-free Python install/launch command for the server.
• Provide example prompts for anchoring and verifying OpenTimestamps receipts.
Diagram

graph TD
  A["MCP Registry"] --> B["orphograph.json"] --> C{{"Orphograph MCP Server"}}
  C --> D{{"OpenTimestamps / Bitcoin"}}
Loading
High-Level Assessment

The PR follows the registry’s intended pattern: add a single server manifest with clear install instructions and examples. Alternatives like adding additional installation methods (pip package, container image) could be future enhancements, but aren’t necessary for a minimal, dependency-free registry entry.

Files changed (1) +57 / -0

Other (1) +57 / -0
orphograph.jsonAdd Orphograph server manifest with install and usage examples +57/-0

Add Orphograph server manifest with install and usage examples

• Introduces a new registry entry for the Orphograph MCP server including repository/homepage metadata, MIT license, categories/tags, a custom Python launch command, and example prompts for anchoring/verifying receipts.

mcp-registry/servers/orphograph.json

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new MCP server manifest entry for Orphograph to the registry, enabling discovery and installation of a tool that locally hashes inputs and anchors the resulting fingerprint to Bitcoin via OpenTimestamps.

Changes:

  • Added a new server manifest at mcp-registry/servers/orphograph.json.
  • Defined basic metadata (repo/homepage/license/categories/tags) plus a Python-based installation command and usage examples.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +27 to +31
"type": "python",
"command": "python3",
"args": [
"orphograph_mcp.py"
],

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
mcp-registry/servers/orphograph.json (1)

25-33: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Expose the server’s environment configuration.

The server supports ORPHO_API_KEY for list_vault and ORPHO_BASE_URL for testing/self-hosting, but this installation entry neither exposes nor documents them. Add registry-supported environment metadata, or explicitly document how users configure these variables. (github.com)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@mcp-registry/servers/orphograph.json` around lines 25 - 33, Update the custom
installation entry for the Orphograph server to expose and document the
supported ORPHO_API_KEY and ORPHO_BASE_URL environment variables using the
registry’s environment metadata format, including their purposes and
configuration guidance.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@mcp-registry/servers/orphograph.json`:
- Line 4: Update the description value in orphograph.json to remove the claim
that only a fingerprint crosses the wire and explicitly state that folder
anchoring may transmit a manifest containing relative paths, SHA-256 digests,
and the Merkle root, so users understand that filename and path metadata may
leave the device.
- Line 32: Update the installation guidance in the server description to
reference an immutable, release-pinned Orphograph artifact and provide its
checksum or signature verification procedure before execution; do not continue
recommending the mutable unverified download URL.

---

Nitpick comments:
In `@mcp-registry/servers/orphograph.json`:
- Around line 25-33: Update the custom installation entry for the Orphograph
server to expose and document the supported ORPHO_API_KEY and ORPHO_BASE_URL
environment variables using the registry’s environment metadata format,
including their purposes and configuration guidance.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: a94e82cb-cbb0-45d7-910a-c91048a82cfd

📥 Commits

Reviewing files that changed from the base of the PR and between 6a92e54 and bed14e1.

📒 Files selected for processing (1)
  • mcp-registry/servers/orphograph.json

{
"name": "orphograph",
"display_name": "Orphograph",
"description": "Anchor a file, folder, or agent-generated output to the Bitcoin blockchain via OpenTimestamps and get a receipt anyone can verify independently. Hashing is local — only the fingerprint crosses the wire, never the file.",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Correct the privacy claim for folder anchoring.

Folder anchoring transmits a manifest containing relative paths, SHA-256 digests, and the Merkle root—not only a fingerprint. Update this description so users understand that filenames/path metadata may also leave the device. (raw.githubusercontent.com)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@mcp-registry/servers/orphograph.json` at line 4, Update the description value
in orphograph.json to remove the claim that only a fingerprint crosses the wire
and explicitly state that folder anchoring may transmit a manifest containing
relative paths, SHA-256 digests, and the Merkle root, so users understand that
filename and path metadata may leave the device.

"args": [
"orphograph_mcp.py"
],
"description": "Single file, Python >=3.9 standard library only, no dependencies. Download with: curl -sSL https://orphograph.com/mcp/orphograph_mcp.py -o orphograph_mcp.py"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | 🏗️ Heavy lift

Pin or integrity-check the downloaded executable.

This instruction downloads mutable Python code that runs with local filesystem access, without a release pin, checksum, or signature. Publish an immutable artifact and verification procedure before recommending this installation path. (github.com)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@mcp-registry/servers/orphograph.json` at line 32, Update the installation
guidance in the server description to reference an immutable, release-pinned
Orphograph artifact and provide its checksum or signature verification procedure
before execution; do not continue recommending the mutable unverified download
URL.

@qodo-code-review

Copy link
Copy Markdown
Contributor

Code Review by Qodo

🐞 Bugs (3) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Action required

1. Missing runnable server artifact 🐞 Bug ≡ Correctness
Description
The manifest configures MCPM to execute python3 orphograph_mcp.py, but the registry entry provides
no install mechanism that ensures orphograph_mcp.py exists at runtime, so mcpm run orphograph
will typically fail with “file not found”. MCPM only records the command/args into config and then
spawns that command later; it does not run the described curl step.
Code

mcp-registry/servers/orphograph.json[R25-33]

+  "installations": {
+    "custom": {
+      "type": "python",
+      "command": "python3",
+      "args": [
+        "orphograph_mcp.py"
+      ],
+      "description": "Single file, Python >=3.9 standard library only, no dependencies. Download with: curl -sSL https://orphograph.com/mcp/orphograph_mcp.py -o orphograph_mcp.py"
+    }
Evidence
The manifest sets command/args to run a local file. MCPM’s install flow selects that method and
writes its command/args into the global server config, and the proxy later spawns the subprocess
using those fields. There is no code path that executes the curl mentioned in the description, so
the referenced script is not guaranteed to exist.

mcp-registry/servers/orphograph.json[25-33]
src/mcpm/commands/install.py[237-305]
src/mcpm/commands/install.py[454-487]
src/mcpm/fastmcp_integration/proxy.py[71-92]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The registry entry sets the runtime command to `python3 orphograph_mcp.py`, but nothing in MCPM or the manifest downloads/installs `orphograph_mcp.py`. As a result, users who install from the registry will get a broken server command unless they manually place the script where the process can find it.

## Issue Context
MCPM selects an installation method from `installations`, then stores its `command`/`args` as the server’s execution configuration. At runtime, MCPM/FastMCP spawns exactly that `command` + `args`.

## Fix Focus Areas
- mcp-registry/servers/orphograph.json[25-33]

## Expected fix direction
Update the installation method so that it is runnable without out-of-band manual steps, e.g.:
- Prefer a distributable method (publish a pip package / uvx-compatible package) and use `python -m <module>` or `uvx <package>` like other registry entries.
- Or, if it must remain single-file, change the command to a self-contained launcher (e.g., `python -c "..."`) that downloads to a deterministic cache location and then `runpy.run_path(...)` to start the server in the same process (so STDIO remains available).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

2. Non-portable python3 command 🐞 Bug ☼ Reliability
Description
The manifest hardcodes command: "python3", which is not consistently available across
platforms/environments (notably many Windows setups), so even if the script is present the server
may not start. Other Python-based registry entries use python (or alternative methods like uvx)
instead of python3.
Code

mcp-registry/servers/orphograph.json[R26-31]

+    "custom": {
+      "type": "python",
+      "command": "python3",
+      "args": [
+        "orphograph_mcp.py"
+      ],
Evidence
The Orphograph manifest is the only registry entry using python3 as the command, while other
Python entries use python, indicating the registry convention and improving portability
expectations.

mcp-registry/servers/orphograph.json[26-33]
mcp-registry/servers/time.json[41-50]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`python3` is not a universally-available executable name (commonly missing on Windows or when only `python`/`py` is installed). Since MCPM spawns the configured command directly (no shell aliasing), this can prevent the server from starting.

## Issue Context
Other Python-based server manifests in this registry use `python` (or `uvx`) rather than `python3`.

## Fix Focus Areas
- mcp-registry/servers/orphograph.json[26-31]

## Suggested change
Switch to `command: "python"` and/or provide multiple installation methods (e.g., a Windows-friendly `py -3` method) with one marked `recommended: true`.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


3. No integrity check for download 🐞 Bug ⛨ Security
Description
The installation description instructs downloading an executable Python script via curl with no
checksum/signature verification, so users cannot detect tampering if the hosting endpoint or
delivery path is compromised. This is a supply-chain integrity gap in the recommended install flow.
Code

mcp-registry/servers/orphograph.json[R31-33]

+      ],
+      "description": "Single file, Python >=3.9 standard library only, no dependencies. Download with: curl -sSL https://orphograph.com/mcp/orphograph_mcp.py -o orphograph_mcp.py"
+    }
Evidence
The manifest explicitly recommends downloading orphograph_mcp.py via curl and does not provide any
hash/signature to verify the downloaded content.

mcp-registry/servers/orphograph.json[31-33]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The manifest’s install guidance tells users to download an executable Python file but provides no integrity verification step (e.g., SHA-256 checksum or signature verification).

## Issue Context
Even with HTTPS, publishing a pinned checksum/signature materially reduces supply-chain risk for “curl to a script” installs.

## Fix Focus Areas
- mcp-registry/servers/orphograph.json[31-33]

## Suggested change
Update the installation description (or add an additional installation method) to include a pinned SHA-256 (or signature) and a concrete verification command before execution.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

Comment on lines +25 to +33
"installations": {
"custom": {
"type": "python",
"command": "python3",
"args": [
"orphograph_mcp.py"
],
"description": "Single file, Python >=3.9 standard library only, no dependencies. Download with: curl -sSL https://orphograph.com/mcp/orphograph_mcp.py -o orphograph_mcp.py"
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

1. Missing runnable server artifact 🐞 Bug ≡ Correctness

The manifest configures MCPM to execute python3 orphograph_mcp.py, but the registry entry provides
no install mechanism that ensures orphograph_mcp.py exists at runtime, so mcpm run orphograph
will typically fail with “file not found”. MCPM only records the command/args into config and then
spawns that command later; it does not run the described curl step.
Agent Prompt
## Issue description
The registry entry sets the runtime command to `python3 orphograph_mcp.py`, but nothing in MCPM or the manifest downloads/installs `orphograph_mcp.py`. As a result, users who install from the registry will get a broken server command unless they manually place the script where the process can find it.

## Issue Context
MCPM selects an installation method from `installations`, then stores its `command`/`args` as the server’s execution configuration. At runtime, MCPM/FastMCP spawns exactly that `command` + `args`.

## Fix Focus Areas
- mcp-registry/servers/orphograph.json[25-33]

## Expected fix direction
Update the installation method so that it is runnable without out-of-band manual steps, e.g.:
- Prefer a distributable method (publish a pip package / uvx-compatible package) and use `python -m <module>` or `uvx <package>` like other registry entries.
- Or, if it must remain single-file, change the command to a self-contained launcher (e.g., `python -c "..."`) that downloads to a deterministic cache location and then `runpy.run_path(...)` to start the server in the same process (so STDIO remains available).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Comment on lines +26 to +31
"custom": {
"type": "python",
"command": "python3",
"args": [
"orphograph_mcp.py"
],

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remediation recommended

2. Non-portable python3 command 🐞 Bug ☼ Reliability

The manifest hardcodes command: "python3", which is not consistently available across
platforms/environments (notably many Windows setups), so even if the script is present the server
may not start. Other Python-based registry entries use python (or alternative methods like uvx)
instead of python3.
Agent Prompt
## Issue description
`python3` is not a universally-available executable name (commonly missing on Windows or when only `python`/`py` is installed). Since MCPM spawns the configured command directly (no shell aliasing), this can prevent the server from starting.

## Issue Context
Other Python-based server manifests in this registry use `python` (or `uvx`) rather than `python3`.

## Fix Focus Areas
- mcp-registry/servers/orphograph.json[26-31]

## Suggested change
Switch to `command: "python"` and/or provide multiple installation methods (e.g., a Windows-friendly `py -3` method) with one marked `recommended: true`.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Comment on lines +31 to +33
],
"description": "Single file, Python >=3.9 standard library only, no dependencies. Download with: curl -sSL https://orphograph.com/mcp/orphograph_mcp.py -o orphograph_mcp.py"
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remediation recommended

3. No integrity check for download 🐞 Bug ⛨ Security

The installation description instructs downloading an executable Python script via curl with no
checksum/signature verification, so users cannot detect tampering if the hosting endpoint or
delivery path is compromised. This is a supply-chain integrity gap in the recommended install flow.
Agent Prompt
## Issue description
The manifest’s install guidance tells users to download an executable Python file but provides no integrity verification step (e.g., SHA-256 checksum or signature verification).

## Issue Context
Even with HTTPS, publishing a pinned checksum/signature materially reduces supply-chain risk for “curl to a script” installs.

## Fix Focus Areas
- mcp-registry/servers/orphograph.json[31-33]

## Suggested change
Update the installation description (or add an additional installation method) to include a pinned SHA-256 (or signature) and a concrete verification command before execution.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants