Skip to main content
Glama

Podio MCP Server

A Model Context Protocol (MCP) server for Podio. Inspect APIs, authenticate, manage items/tasks/apps, and generate TypeScript field configs from Cursor, Claude Desktop, or any MCP-compatible client.

Features

  • Consolidated Podio tools — items, apps/spaces, tasks, communication, search, metadata, system

  • Generic API caller — call any catalogued Podio endpoint via callPodioApi

  • OAuth / app-token auth — organization- and app-level tokens

  • API catalog — browse and search Podio endpoints

  • HTTP/SSE mode — optional remote access (Docker / npm run start:http)

Related MCP server: Taskade MCP Server

Prerequisites

  • Node.js 18+

  • Podio account with API access

  • An MCP client (e.g. Cursor, Claude Desktop)

Quick start (npm / npx)

Add to your MCP client config (e.g. Cursor .cursor/mcp.json):

{
  "mcpServers": {
    "podio-developer-mcp": {
      "command": "npx",
      "args": ["-y", "@phasesdk/mcp-server-for-podio"]
    }
  }
}

Create podio.config.json in the working directory the client uses for the server (often your project root):

cp podio.config.json.example podio.config.json
# edit clientId, clientSecret, apps

Restart the client, then verify with podio_system operation ping or get_config_status.

Install from source

git clone https://github.com/phases/mcp-server-for-podio.git
cd mcp-server-for-podio
npm install
npm run build

Point the client at the built entry:

{
  "mcpServers": {
    "podio-developer-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-server-for-podio/dist/index.js"]
    }
  }
}

Development

npm run build
npm run dev
npm start
npm run lint
npm run format

HTTP mode (landing page + SSE):

npm run start:http
# open http://localhost:3016/

Available tools

Tool

Description

podio_items

Get, create, update, delete, filter items; field history / revisions

podio_apps_spaces

Orgs, spaces, apps, streams

podio_tasks

Get, list, create, update, complete tasks

podio_communication

Comments, statuses, notifications, tags, subscriptions

podio_search

Global / app search and contacts

podio_metadata

API catalog, app fields, app relations (incl. deep / CRM map), forms, views

podio_system

ping, get_config_status, field config generation, files, hooks, batch, calendar

callPodioApi

Call any endpoint from the bundled API catalog

Most tools take an operation enum. Example: podio_system with { "operation": "ping" }.

Project structure

mcp-server-for-podio/
├── src/           # MCP server and tools
├── data/catalog/  # Podio API catalog (required at runtime)
├── dist/          # Compiled output
├── docs/          # Extra documentation
└── index.html     # HTTP landing page

Configuration

See CONFIGURATION.md. Required: clientId, clientSecret. Optional: username, password, apps[].

Secrets live in podio.config.json (gitignored). Never commit that file.

Deploy (HTTP / remote MCP)

Use this when clients connect over a URL (SSE), not local npx/stdio.

Endpoints

Path

Purpose

GET /

Landing page (index.html)

GET /sse

MCP SSE session

POST /message?sessionId=...

MCP messages

GET /health

Health check

Run locally in HTTP mode

npm ci && npm run build
PORT=3016 BIND_ADDRESS=0.0.0.0 node dist/index.js
# or: npm run start:http

Create podio.config.json in the process working directory (copy from podio.config.json.example). Bind-mount it for Docker.

Docker

docker build -t mcp-server-for-podio .
docker run --rm -p 3016:3016 \
  -v "$PWD/podio.config.json:/app/podio.config.json:ro" \
  -e PORT=3016 \
  mcp-server-for-podio

Remote client config

{
  "mcpServers": {
    "podio-developer-mcp": {
      "url": "https://your-host.example/sse"
    }
  }
}

Production reverse proxy, TLS, systemd/PM2: see DEPLOYMENT.md.

Publish (GitHub + npm)

Package is ready to ship. From a clean tree after npm run build:

  1. GitHub. The published branch is main on phases/mcp-server-for-podio. Do not push master.

git remote add github git@github.com:phases/mcp-server-for-podio.git   # first time only
git push -u github HEAD:main
  1. npm (logged in as a member of the phasesdk org):

npm whoami
npm publish --access public

Bump version in package.json before republishing. prepublishOnly runs tsc automatically. Published tarball includes dist/, data/, index.html, and the example config (see files in package.json).

Landing page

In HTTP mode, GET / serves index.html with connect instructions.

Documentation

License

MIT

Contributing

Issues and PRs welcome once the GitHub repo is live: phases/mcp-server-for-podio.

Available Tools

8 tools
callPodioApiB

Call any Podio API endpoint from the catalog. Use getApiDetails to see available endpoints and their parameters. Example: "call the items-get endpoint with item_id 123"

Inputs: endpointId (required), appId, appToken, bodyParams, +3 more.

podio_apps_spacesC

Manage Podio Spaces, Apps, and Organizations, including activity streams.

Inputs: operation (required), name, appId, limit, +4 more.

podio_communicationC

Manage comments, statuses, notifications, tags, and subscriptions.

Inputs: operation (required), text, refId, value, +8 more.

podio_itemsC

Manage Podio items: fetch, create, update, delete, and filter items in apps.

Inputs: operation (required), tags, appId, hooks, +15 more.

podio_metadataC

Explore Podio API, app fields, app relations (direct or deep to max depth), forms, and views.

Inputs: operation (required), name, type, apiId, +10 more.

podio_systemD

System tools: ping, config, files, hooks, batch, and calendar.

Inputs: operation (required), url, type, appId, +10 more.

podio_tasksC

Manage Podio tasks: fetch, create, update, and complete tasks.

Inputs: operation (required), text, appId, dueOn, +9 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.7/5.0

    Scored across 8 tools

    Disambiguation3/5

    The tools are mostly separated by Podio domain (items, tasks, search, communication, metadata), so an agent can usually pick the right category. However, callPodioApi overlaps with every other tool as a generic catch-all, and boundaries such as items-filtering versus search are somewhat loose.

    Naming Consistency3/5

    Seven tools follow a clear podio_<domain> snake_case convention, but callPodioApi breaks the pattern with camelCase and no podio_ prefix. The set remains readable, but the convention is not fully consistent.

    Tool Count5/5

    Eight tools is a well-scoped count for a broad API like Podio, with each major domain area represented without excessive fragmentation. The domain-bundle approach keeps the count manageable while still exposing the main capabilities.

    Completeness5/5

    The surface covers the major Podio areas: items, apps/spaces/organizations, tasks, communication, search, metadata, and system utilities. The generic callPodioApi tool also provides an escape hatch for any endpoint not explicitly bundled, so there are no obvious dead ends.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      A
      maintenance
      Enables AI clients such as Claude, Cursor, VS Code, and Windsurf to list and manage workspaces, projects, tasks, AI agents, and automations through a hosted OAuth-secured endpoint or a local stdio package. Also generates MCP tools from any OpenAPI spec.
      2,105 npm
      MIT
    • A
      license
      Not graded
      quality
      A
      maintenance
      Enables MCP clients such as Claude, Cursor, VS Code, and Windsurf to manage workspaces, projects, tasks, AI agents, and app files through hosted OAuth or local stdio tools. It also includes OpenAPI codegen for generating MCP tools from any OpenAPI specification.
      2,105 npm
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables authenticated management of email, drafts, sending, domains, contacts, templates, campaigns, workflows, and webhooks through typed MCP tools backed by a REST API.
      MIT