MCPLow riskUnclaimed

Palinode

Inspectable, correctable project memory in git-versioned Markdown for AI agents.

phasespace-labsphasespace-labs/palinode★ 44Updated Oct 2, 2026

server.json

{
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "name": "io.github.phasespace-labs/palinode",
  "description": "Inspectable, correctable project memory in git-versioned Markdown for AI agents.",
  "title": "Palinode",
  "repository": {
    "url": "https://github.com/phasespace-labs/palinode",
    "source": "github"
  },
  "version": "0.22.0",
  "websiteUrl": "https://github.com/phasespace-labs/palinode",
  "packages": [
    {
      "registryType": "pypi",
      "registryBaseUrl": "https://pypi.org",
      "identifier": "palinode",
      "version": "0.22.0",
      "runtimeHint": "uvx",
      "transport": {
        "type": "stdio"
      },
      "packageArguments": [
        {
          "description": "Select the palinode distribution from PyPI",
          "value": "palinode",
          "type": "named",
          "name": "--from"
        },
        {
          "description": "Console script for the stdio MCP server",
          "value": "palinode-mcp",
          "type": "positional",
          "valueHint": "stdio entry point"
        }
      ],
      "environmentVariables": [
        {
          "description": "Path to the markdown-memory directory (e.g. ~/.palinode). Created if missing.",
          "isRequired": true,
          "name": "PALINODE_DIR"
        },
        {
          "description": "Host where the back-end palinode-api process is reachable",
          "default": "127.0.0.1",
          "name": "PALINODE_API_HOST"
        },
        {
          "description": "Port for palinode-api",
          "default": "6340",
          "name": "PALINODE_API_PORT"
        },
        {
          "description": "Optional bearer token enforced on every palinode-api request other than /health. Required when PALINODE_API_BIND_INTENT=public. Generate with: python -c 'import secrets; print(secrets.token_urlsafe(32))'.",
          "isSecret": true,
          "name": "PALINODE_API_TOKEN"
        },
        {
          "description": "Path to a file containing the bearer token (alternative to PALINODE_API_TOKEN; for docker-secrets style deployments)",
          "isSecret": true,
          "name": "PALINODE_API_TOKEN_FILE"
        }
      ]
    },
    {
      "registryType": "pypi",
      "registryBaseUrl": "https://pypi.org",
      "identifier": "palinode",
      "version": "0.22.0",
      "runtimeHint": "uvx",
      "transport": {
        "type": "streamable-http",
        "url": "http://127.0.0.1:6341/mcp/"
      },
      "packageArguments": [
        {
          "description": "Select the palinode distribution from PyPI",
          "value": "palinode",
          "type": "named",
          "name": "--from"
        },
        {
          "description": "Console script for the long-running streamable-HTTP MCP server",
          "value": "palinode-mcp-http",
          "type": "positional",
          "valueHint": "streamable-http entry point"
        }
      ],
      "environmentVariables": [
        {
          "description": "Path to the markdown-memory directory",
          "isRequired": true,
          "name": "PALINODE_DIR"
        },
        {
          "description": "Bind host for the MCP HTTP server. Defaults to loopback; set to 0.0.0.0 only with intentional network exposure (paired with PALINODE_API_BIND_INTENT=public on the back-end).",
          "default": "127.0.0.1",
          "name": "PALINODE_MCP_HTTP_HOST"
        },
        {
          "description": "Port for the MCP HTTP server",
          "default": "6341",
          "name": "PALINODE_MCP_HTTP_PORT"
        },
        {
          "description": "Host where the back-end palinode-api is reachable",
          "default": "127.0.0.1",
          "name": "PALINODE_API_HOST"
        },
        {
          "description": "Port for palinode-api",
          "default": "6340",
          "name": "PALINODE_API_PORT"
        },
        {
          "description": "Bearer token enforced by palinode-api. Required when binding non-loopback. Generate with: python -c 'import secrets; print(secrets.token_urlsafe(32))'.",
          "isSecret": true,
          "name": "PALINODE_API_TOKEN"
        },
        {
          "description": "Path to a file containing the bearer token (alternative to PALINODE_API_TOKEN)",
          "isSecret": true,
          "name": "PALINODE_API_TOKEN_FILE"
        }
      ]
    }
  ],
  "_meta": {
    "io.modelcontextprotocol.registry/publisher-provided": {
      "release": "v0.22.0",
      "release_notes_url": "https://github.com/phasespace-labs/palinode/releases/tag/v0.22.0",
      "tool": "mcp-publisher"
    }
  }
}

Permissions

DeclaredDetected
Runs code—python
Installs—pypi:palinode@0.22.0pypi:palinode@0.22.0
Runs install scripts—None
NetworkNoneNone
Needs credentialsPALINODE_API_TOKENPALINODE_API_TOKEN_FILEPALINODE_API_TOKENPALINODE_API_TOKEN_FILE
Outside the workspace—None
Agent tools—None

Checks

Low risk · Nothing worth a warning was found.

Not reviewed by a person · Checked by rules; the model review is not switched on yet.

Versions

  1. #10.22.0latestOct 7, 2026