Palinode✓
io.github.phasespace-labs/palinode · v0.8.9
{}server.json
The full server descriptor as registered with IndusMCP.
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "io.github.phasespace-labs/palinode",
"description": "Git-versioned markdown memory for AI agents: save, search, compact, lint, and audit.",
"title": "Palinode",
"repository": {
"url": "https://github.com/phasespace-labs/palinode",
"source": "github"
},
"version": "0.8.9",
"websiteUrl": "https://github.com/phasespace-labs/palinode",
"packages": [
{
"registryType": "pypi",
"registryBaseUrl": "https://pypi.org",
"identifier": "palinode",
"version": "0.8.9",
"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.8.9",
"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-sse",
"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.8.9",
"release_notes_url": "https://github.com/phasespace-labs/palinode/releases/tag/v0.8.9",
"tool": "mcp-publisher"
},
"dev.indusmcp/source": "official-registry-mirror",
"dev.indusmcp/synced": "2026-05-12"
}
}