Skip to main content
Glama

Polytomic MCP Server

A Model Context Protocol (MCP) server for interacting with the Polytomic API.

Available Tools

Connections

Tool

Description

list_connection_types

List all available connection types (connectors)

list_connections

List all data connections

get_connection

Get details for a specific connection

create_connection

Create a new data connection

update_connection

Update an existing connection

delete_connection

Delete a connection

Models

Tool

Description

list_models

List all data models

get_model

Get details and fields for a specific model

create_model

Create a new data model

update_model

Update an existing model

delete_model

Delete a model

Model Syncs (Reverse ETL)

Tool

Description

list_syncs

List all model syncs

get_sync

Get details for a specific sync

create_sync

Create a new model sync

update_sync

Update an existing sync

delete_sync

Delete a sync

activate_sync

Activate (enable) a sync

trigger_sync

Manually trigger a sync to run

get_sync_status

Get the current status of a sync

list_sync_executions

List execution history for a sync

get_sync_execution

Get details for a specific sync execution

Bulk Syncs (ELT)

Tool

Description

list_bulk_syncs

List all bulk syncs

get_bulk_sync

Get details for a specific bulk sync

create_bulk_sync

Create a new bulk sync

update_bulk_sync

Update an existing bulk sync

delete_bulk_sync

Delete a bulk sync

activate_bulk_sync

Activate or deactivate a bulk sync

trigger_bulk_sync

Manually trigger a bulk sync to run

get_bulk_sync_status

Get the current status of a bulk sync

list_bulk_sync_executions

List execution history for a bulk sync

get_bulk_sync_schemas

Get available schemas/tables for a bulk sync

update_bulk_sync_schemas

Update which schemas/tables are enabled for a bulk sync

Related MCP server: nango-mcp-server

Setup

  1. Create and activate a virtual environment:

    cd projects/mcp-servers/polytomic
    python -m venv venv
    source venv/bin/activate
  2. Install the package:

    pip install -e .
  3. Run the server:

    python -m polytomic_mcp.server
    # or
    polytomic-mcp

Environment Variables

  • POLYTOMIC_API_KEY - Your Polytomic API key (Bearer token)

Usage with mcporter

The server is configured in mcporter and can be used via:

mcporter call polytomic.list_connections
mcporter call polytomic.get_sync id=<sync-id>
mcporter call polytomic.trigger_sync id=<sync-id>

Available Tools

32 tools
activate_bulk_syncB

Activate or deactivate a bulk sync.

Args: id: The bulk sync ID active: True to activate, False to deactivate

Inputs: id (required), active. Returns: result

activate_syncC

Activate (enable) a sync.

Args: id: The sync ID to activate

Inputs: id (required). Returns: result

create_bulk_syncB

Create a new bulk sync (ELT) in Polytomic.

Args: name: Name for the bulk sync source_connection_id: Source connection ID dest_connection_id: Destination connection ID destination_configuration: JSON string with destination config (e.g. {"schema": "public"}) schedule: Optional JSON for schedule source_configuration: Optional JSON string with source-specific config

Inputs: name (required), source_connection_id (required), dest_connection_id (required), destination_configuration (required), +2… Returns: result

create_connectionC

Create a new data connection in Polytomic.

Args: name: Name for the connection type: Connection type (e.g. 'postgresql', 'salesforce', 'snowflake') configuration: JSON string with connection config (varies by type)

Inputs: name (required), type (required), configuration (required). Returns: result

create_modelB

Create a new data model in Polytomic.

Args: name: Name for the model connection_id: The connection ID this model uses configuration: JSON string with model config (e.g. {"query": "SELECT * FROM users"} or {"table": "users"}) identifier: Optional field name to use as unique identifier tracking_columns: Optional JSON array of column names for change tracking

Inputs: name (required), connection_id (required), configuration (required), identifier, +1 more. Returns: result

create_syncB

Create a new model sync (reverse ETL) in Polytomic.

Args: name: Name for the sync mode: Sync mode ('create', 'update', 'updateOrCreate', 'replace', 'append') target: JSON string with target config {"connection_id": "...", "object": "...", "configuration": {...}} fields: JSON array of field mappings [{"source": {"field": "...", "model_id": "..."}, "target": "..."}] identity: Optional JSON for identity mapping (required for update modes) schedule: Optional JSON for schedule {"frequency": "manual|hourly|daily|weekly|monthly", ...} filters: Optional JSON array of filters filter_logic: Optional filter logic string (e.g. "A AND B")

Inputs: name (required), mode (required), target (required), fields (required), +4 more. Returns: result

delete_bulk_syncB

Delete a bulk sync from Polytomic.

Args: id: The bulk sync ID to delete

Inputs: id (required). Returns: result

delete_connectionB

Delete a connection from Polytomic.

Args: id: The connection ID to delete

Inputs: id (required). Returns: result

delete_modelB

Delete a model from Polytomic.

Args: id: The model ID to delete

Inputs: id (required). Returns: result

delete_syncC

Delete a sync from Polytomic.

Args: id: The sync ID to delete

Inputs: id (required). Returns: result

get_bulk_syncC

Get details for a specific bulk sync.

Args: id: The bulk sync ID

Inputs: id (required). Returns: result

get_bulk_sync_schemasB

Get available schemas/tables for a bulk sync.

Args: id: The bulk sync ID

Inputs: id (required). Returns: result

get_bulk_sync_statusB

Get the current status of a bulk sync.

Args: id: The bulk sync ID

Inputs: id (required). Returns: result

get_connectionC

Get details for a specific connection.

Args: id: The connection ID

Inputs: id (required). Returns: result

get_modelB

Get details and fields for a specific model.

Args: id: The model ID

Inputs: id (required). Returns: result

get_syncC

Get details for a specific sync.

Args: id: The sync ID

Inputs: id (required). Returns: result

get_sync_executionB

Get details for a specific sync execution.

Args: sync_id: The sync ID execution_id: The execution ID

Inputs: sync_id (required), execution_id (required). Returns: result

get_sync_statusB

Get the current status of a sync.

Args: id: The sync ID

Inputs: id (required). Returns: result

list_bulk_sync_executionsB

List execution history for a bulk sync.

Args: id: The bulk sync ID limit: Maximum number of executions to return (default 10)

Inputs: id (required), limit. Returns: result

list_bulk_syncsB

List all bulk syncs in Polytomic.

Inputs: no named parameters. Returns: result

list_connectionsB

List all data connections in Polytomic.

Inputs: no named parameters. Returns: result

list_connection_typesB

List all available connection types (connectors) in Polytomic.

Inputs: no named parameters. Returns: result

list_modelsB

List all data models in Polytomic.

Inputs: no named parameters. Returns: result

list_sync_executionsC

List execution history for a sync.

Args: id: The sync ID limit: Maximum number of executions to return (default 10)

Inputs: id (required), limit. Returns: result

list_syncsB

List all model syncs in Polytomic.

Inputs: no named parameters. Returns: result

trigger_bulk_syncC

Manually trigger a bulk sync to run.

Args: id: The bulk sync ID to trigger

Inputs: id (required). Returns: result

trigger_syncB

Manually trigger a sync to run.

Args: id: The sync ID to trigger

Inputs: id (required). Returns: result

update_bulk_syncC

Update an existing bulk sync in Polytomic.

Args: id: The bulk sync ID to update name: Optional new name schedule: Optional JSON for schedule destination_configuration: Optional JSON string with destination config source_configuration: Optional JSON string with source config

Inputs: id (required), name, schedule, destination_configuration, +1 more. Returns: result

update_bulk_sync_schemasC

Update which schemas/tables are enabled for a bulk sync.

Args: id: The bulk sync ID schemas: JSON array of schema configurations

Inputs: id (required), schemas (required). Returns: result

update_connectionC

Update an existing connection in Polytomic.

Args: id: The connection ID to update name: Optional new name for the connection configuration: Optional JSON string with connection config

Inputs: id (required), name, configuration. Returns: result

update_modelB

Update an existing data model in Polytomic.

Args: id: The model ID to update name: Optional new name for the model configuration: Optional JSON string with model config (e.g. {"query": "SELECT * FROM users"}) identifier: Optional field name to use as unique identifier tracking_columns: Optional JSON array of column names for change tracking

Inputs: id (required), name, configuration, identifier, +1 more. Returns: result

update_syncC

Update an existing sync in Polytomic.

Args: id: The sync ID to update name: Optional new name mode: Optional sync mode fields: Optional JSON array of field mappings identity: Optional JSON for identity mapping schedule: Optional JSON for schedule filters: Optional JSON array of filters filter_logic: Optional filter logic string active: Optional boolean to enable/disable sync

Inputs: id (required), name, mode, fields, +5 more. Returns: result

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 32 tools

    Disambiguation4/5

    Tools are well-organized around distinct resources (bulk syncs, syncs, connections, models) with clear action differentiation. Minor overlap exists between 'activate_sync' and 'update_sync' with active parameter, but descriptions clarify their distinct purposes (activation vs. full update).

    Naming Consistency5/5

    Perfectly consistent verb_noun pattern throughout (e.g., create_bulk_sync, get_connection, list_models). All tools use snake_case with clear action prefixes (create, get, list, update, delete, activate, trigger) followed by resource names.

    Tool Count3/5

    32 tools is borderline heavy for a data integration server, though it covers multiple resource types comprehensively. The count feels slightly inflated due to parallel tools for bulk syncs and syncs, but remains manageable given the domain complexity.

    Completeness5/5

    Excellent CRUD/lifecycle coverage for all core resources (connections, models, bulk syncs, syncs). Includes activation, triggering, status checks, execution history, and schema management. No apparent gaps for the data integration domain.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      A
      maintenance
      Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
      4
      578 npm
      20
      MIT
    • A
      license
      C
      quality
      B
      maintenance
      MCP server for managing Nango environments, integrations, connections, and proxy requests. Provides tools for environment checks, integration management, connection handling, Connect sessions, and provider API calls through Nango Proxy.
      28
      3
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      An MCP server for controlling Fivetran data pipelines. Enables AI assistants to manage syncs, monitor connection status, and control pipelines through natural language.
      15
      183 PyPI
      2
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for the HubSpot CRM API with tools for managing contacts, companies, deals, tickets, and CRM workflows. Generated with MCPForge. Sensitive operations can be protected with permissions, audit logs, and approval workflows.
      19 npm
      MIT