addrbookFor publishers
← The evidence ledger

Evidence row 44350

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.muthanii/frappe_mcp
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
2b0da8d865e12e4d99e5e3133153739ccc2f1e684af0878ef7c44952f4fc776f
Leaf
0x5f65bc4940a88c4a8f88566225eb72c939e6c7a52374d3645349ab4fa672f855

What was observed

{
  "endpoints": [
    [
      "web",
      "https://github.com/muthanii/frappe_mcp"
    ]
  ],
  "name": "Frappe MCP Server",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-07-29T12:53:58.133149Z",
        "status": "active",
        "statusChangedAt": "2026-07-29T12:53:58.133149Z",
        "updatedAt": "2026-07-29T12:53:58.133149Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "Interact with Frappe/ERPNext sites — document CRUD, search, and whitelisted method calls",
      "name": "io.github.muthanii/frappe_mcp",
      "packages": [
        {
          "environmentVariables": [
            {
              "description": "Base URL of your Frappe/ERPNext site, e.g. https://your-site.erpnext.com",
              "format": "string",
              "isRequired": true,
              "name": "FRAPPE_URL"
            },
            {
              "description": "Frappe API key for token-based authentication",
              "format": "string",
              "isRequired": true,
              "isSecret": true,
              "name": "FRAPPE_API_KEY"
            },
            {
              "description": "Frappe API secret paired with the API key",
              "format": "string",
              "isRequired": true,
              "isSecret": true,
              "name": "FRAPPE_API_SECRET"
            },
            {
              "default": "true",
              "description": "Set to 'false' to skip TLS certificate verification. Defaults to 'true'.",
              "format": "string",
              "name": "FRAPPE_VERIFY_SSL"
            },
            {
              "default": "30",
              "description": "Per-request timeout in seconds. Defaults to 30.",
              "format": "number",
              "name": "FRAPPE_TIMEOUT"
            }
          ],
          "identifier": "frappe-mcp-server",
          "registryBaseUrl": "https://pypi.org",
          "registryType": "pypi",
          "runtimeHint": "uvx",
          "transport": {
            "type": "stdio"
          },
          "version": "1.2.0"
        },
        {
          "environmentVariables": [
            {
              "description": "Base URL of your Frappe/ERPNext site, e.g. https://your-site.erpnext.com",
              "format": "string",
              "isRequired": true,
              "name": "FRAPPE_URL"
            },
            {
              "description": "Frappe API key for token-based authentication",
              "format": "string",
              "isRequired": true,
              "isSecret": true,
              "name": "FRAPPE_API_KEY"
            },
            {
              "description": "Frappe API secret paired with the API key",
              "format": "string",
              "isRequired": true,
              "isSecret": true,
              "name": "FRAPPE_API_SECRET"
            },
            {
              "default": "true",
              "description": "Set to 'false' to skip TLS certificate verification. Defaults to 'true'.",
              "format": "string",
              "name": "FRAPPE_VERIFY_SSL"
            },
            {
              "default": "30",
              "description": "Per-request timeout in seconds. Defaults to 30.",
              "format": "number",
              "name": "FRAPPE_TIMEOUT"
            }
          ],
          "identifier": "docker.io/muthanii/frappe-mcp:1.2.0",
          "registryType": "oci",
          "transport": {
            "type": "stdio"
          }
        },
        {
          "environmentVariables": [
            {
              "description": "Base URL of your Frappe/ERPNext site, e.g. https://your-site.erpnext.com",
              "format": "string",
              "isRequired": true,
              "name": "FRAPPE_URL"
            },
            {
              "description": "Frappe API key for token-based authentication",
              "format": "string",
              "isRequired": true,
              "isSecret": true,
              "name": "FRAPPE_API_KEY"
            },
            {
              "description": "Frappe API secret paired with the API key",
              "format": "string",
              "isRequired": true,
              "isSecret": true,
              "name": "FRAPPE_API_SECRET"
            },
            {
              "default": "true",
              "description": "Set to 'false' to skip TLS certificate verification. Defaults to 'true'.",
              "format": "string",
              "name": "FRAPPE_VERIFY_SSL"
            },
            {
              "default": "30",
              "description": "Per-request timeout in seconds. Defaults to 30.",
              "format": "number",
              "name": "FRAPPE_TIMEOUT"
            }
          ],
          "identifier": "ghcr.io/muthanii/frappe-mcp:1.2.0",
          "registryType": "oci",
          "transport": {
            "type": "stdio"
          }
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/muthanii/frappe_mcp"
      },
      "title": "Frappe MCP Server",
      "version": "1.2.0",
      "websiteUrl": "https://github.com/muthanii/frappe_mcp"
    }
  },
  "source": "mcp_registry",
  "summary": "Interact with Frappe/ERPNext sites — document CRUD, search, and whitelisted method calls"
}

What the leaf hashes

{"body":"2b0da8d865e12e4d99e5e3133153739ccc2f1e684af0878ef7c44952f4fc776f","id":44350,"kind":"listing","method":"baseline/1","observed_us":1793025403890559,"prev":null,"subject":"mcp_registry:io.github.muthanii/frappe_mcp","subject_kind":"source_record"}

Proof

Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.

How to check it · This row as JSON