# Pylon MCP connector

The Pylon connector lets Claude, ChatGPT, Cursor, and the Elaichi Agent read and update the accounts, contacts, teams, and account highlights in Pylon, with every action tied to the person who signed in and recorded in an audit log.

Source: https://elaichi.ai/connectors/pylon/

## Facts

| | |
| --- | --- |
| Application | Pylon |
| Category | Helpdesk |
| AI tools | 55 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 55 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Pylon is connected

- Which Pylon accounts opened the most issues this week?
- List Pylon teams and the users on each one.
- Summarize open Pylon issues for our top three accounts.

## Connect Pylon in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Pylon.
2. Optionally set Share with, then press Connect.
3. Paste a Pylon API key. One person generates a token in Pylon and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Pylon tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Pylon to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Pylon to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Pylon to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Pylon to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Pylon tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Pylon through Elaichi

### Look up an account before replying

Support. Ask for the account behind an incoming request and get its contacts, highlights, and recent activity in one answer, so the reply matches what the customer already told you.

### Log the call notes as account activity

Customer Success. After a check-in, dictate what was discussed and have it saved as an activity on the Pylon account, with an attachment for the deck or notes if there is one.

### Keep account highlights current

Customer Success. Add a highlight when a customer flags a risk or a win, update it when things change, and remove it once it no longer applies.

### Create the account on handoff

Sales. When a deal closes, create the Pylon account and its contacts from the details you already have, so support sees the customer from day one.

### Fix contact details across accounts

Operations. Find contacts with an old email or job title, update them in place, and confirm the custom fields are filled in the way your team expects.

### Set up teams and check who is on them

Operations. List Pylon users and their roles, create a new team for a region or product line, and update team membership as people move around.

## Frequently asked questions

### How do I connect Pylon to Claude?

In Elaichi, choose Pylon from the connector catalog and paste in an API key from your Pylon settings; there is no OAuth application to register and no client ID or secret to generate. Then in Claude, open Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Claude will ask you to sign in to Elaichi, and from then on Pylon is available in your conversations.

### Does Pylon work with ChatGPT and Cursor as well as Claude?

Yes. Once Pylon is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. You connect Pylon once and every client picks it up.

### What can an AI agent actually do with my Pylon data?

With Pylon connected, an agent can look up accounts and contacts, create new ones, update details like emails and custom fields, log account activity, and add, change, or remove account highlights. It can also list Pylon users, roles, and teams, and create or update teams. Because Pylon exposes a large set of actions, short concrete asks such as "add a highlight to the Acme account" work better than long instructions.

### Does connecting Pylon give the AI access to everything in my workspace?

No. Every request to Pylon runs as the person who signed in, so the agent can only see the accounts, contacts, and teams that person can already see in Pylon. Elaichi can narrow that further with restrictions, but it can never widen it beyond what Pylon itself allows that person.

### Can my team share one Pylon connection?

Yes. One person connects Pylon with an API key and shares the connection with a team in Elaichi, and nobody else ever handles the key. Each teammate still signs in to Elaichi as themselves, so the audit log names the actual person behind every change to a Pylon account or contact.

### Can I stop an agent from deleting or changing things in Pylon?

Yes. Restrictions in Elaichi work per action, so you can allow reading Pylon accounts and contacts while blocking deleting an account or removing a highlight, for example. A blocked action is never shown to Claude, ChatGPT, or any other client at all, so no prompt can reach it.

### What happens to a Pylon connection when someone leaves?

When a person is offboarded in Elaichi, their access to Pylon through every AI client ends at once. If they had shared a Pylon connection with a team, that connection keeps working for everyone else. If you want Pylon gone entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client together.

## All 55 Pylon tools

Every tool below is callable through https://api.elaichi.ai/mcp once Pylon is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Pylon me** (List). Get details of the current user
- **List all Pylon users** (List). List users in Pylon. Returns user fields: avatar_url, email, emails, id, name, role_id, and status in the response.
- **Get single Pylon user by ID** (Get). Get a user by its id in Pylon. Returns user fields: avatar_url, email, emails, id, name, role_id, and status in the response.
- **Update a Pylon user by ID** (Update). Update a user in Pylon. Requires id. Returns avatar_url, email, emails, id, name, role_id, and status for the updated user in the response.
- **List all Pylon user roles** (List). List all user roles in Pylon. Returns id, name, and slug fields for each user role in the response.
- **List all Pylon teams** (List). List teams in Pylon. Returns id, name, and users (including email and id) for each team.
- **Get single Pylon team by ID** (Get). Get a team by its id in Pylon. Returns id, name, and users (including email and id) for each team.
- **Create a Pylon team** (Create). Create a new team in Pylon. Returns id, name, and users fields in the response for the created team.
- **Update a Pylon team by ID** (Update). Update an existing team in Pylon using id. Returns id, name, and users array (each with email and id) in the response.
- **Create a Pylon attachment** (Create). Create an attachment in Pylon. Returns id, name, description, and url of the created attachment in the response.
- **List all Pylon accounts** (List). List accounts in Pylon. Requires limit. Returns account fields including id, name, type, created_at, domains, owner, tags, custom_fields, channels, external_ids, primary_domain, and latest_customer_activity_time in the response.
- **Get single Pylon account by ID** (Get). Get an account in Pylon by id. Returns id, name, type, created_at, domains, primary_domain, owner, channels, external_ids, tags, custom_fields, crm_settings, and latest_customer_activity_time.
- **Create a Pylon account** (Create). Create an account in Pylon with the required name. Returns fields including channels, created_at, crm_settings, custom_fields, domains, external_ids, id, latest_customer_activity_time, name, owner, primary_domain, tags, and type.
- **Update a Pylon account by ID** (Update). Update an existing account in Pylon using id. Returns channels linked to the account, created_at timestamp, crm_settings details, custom_fields, domain, domains, external_ids, account id, latest_customer_activity_time, name, owner info, primary_domain, tags, and type.
- **Delete a Pylon account by ID** (Delete). Delete an existing account in Pylon. Requires id. Returns request_id indicating the deletion request.
- **Create a Pylon account activity** (Create). Create a new activity for an account in Pylon. Requires id and slug. Returns success status and request_id in the response.
- **Create a Pylon account highlight** (Create). Create a new account highlight in Pylon. Requires account_id and content_html. Returns account_id, content_html, created_at, expires_at, id, and updated_at in the response.
- **Update a Pylon account highlight by ID** (Update). Update an account highlight in Pylon. Requires account_id and id. Returns account_id, content_html, created_at, expires_at, id, and updated_at fields in the response.
- **Delete a Pylon account highlight by ID** (Delete). Delete an account highlight in Pylon. Requires account_id and id. The response includes success indicating if the operation was successful.
- **List all Pylon contacts** (List). List all contacts in Pylon. Returns account.id, avatar_url, custom_fields, email, emails, id, name, and portal_role for each contact.
- **Get single Pylon contact by ID** (Get). Get a contact in Pylon by id. Returns fields including id, name, email, avatar_url, portal_role, account (with id), emails, and custom_fields. Requires id and limit.
- **Create a Pylon contact** (Create). Create a new contact in Pylon. Requires email and name. Returns id, name, email, avatar_url, portal_role, account.id, custom_fields, and emails in the response.
- **Update a Pylon contact by ID** (Update). Update an existing contact in Pylon by id. Returns id, name, email, avatar_url, portal_role, custom_fields, emails, account.id. Requires id.
- **List all Pylon custom fields** (List). List custom-fields in Pylon using object_type. Returns fields such as id, label, object_type, type, slug, source, description, default_value, default_values, is_read_only, created_at, updated_at, select_metadata. Requires object_type.
- **Get single Pylon custom field by ID** (Get). Get a custom field in Pylon by id. Returns created_at, default_value, default_values, description, id, is_read_only, label, object_type, select_metadata, slug, source, type, and updated_at in the response.
- **Create a Pylon custom field** (Create). Create a custom field in Pylon. Requires label, object_type, and type. Returns fields such as id, label, type, object_type, slug, default_value, default_values, description, select_metadata, source, created_at, updated_at, and is_read_only.
- **Update a Pylon custom field by ID** (Update). Update a custom field in Pylon using id. Returns created_at, default_value, default_values, description, id, is_read_only, label, object_type, select_metadata, slug, source, type, and updated_at in the response.
- **List all Pylon issues** (List). List issues in Pylon using start_time and end_time. Returns fields such as id, title, state, assignee, requester, created_at, resolution_time, csat_responses, tags, and more in the response.
- **Get single Pylon issue by ID** (Get). Get a specific issue in Pylon. Requires id. Returns fields including id, title, state, assignee, requester, created_at, body_html, tags, link, number, team, and timestamps in the response.
- **Create a Pylon issue** (Create). Create a new issue in Pylon. Requires body_html and title. Returns fields such as id, title, body_html, requester, assignee, team, state, tags, created_at, latest_message_time, number, resolution_time, and type in the response.
- **Update a Pylon issue by ID** (Update). Update an existing issue in Pylon by id. Returns fields including id, assignee, body_html, created_at, custom_fields, customer_portal_visible, requester, state, tags, team, number, title, and key metrics in the response.
- **Delete a Pylon issue by ID** (Delete). Delete an existing issue in Pylon. Requires id. The response returns request_id as confirmation of the operation.
- **Pylon issues snooze** (Action). Snooze an issue in Pylon. Requires id and snooze_until. Returns fields such as account, assignee, body_html, created_at, state, snoozed_until_time, requester, resolution_time, tags, and type in the response.
- **Pylon issues link or unlink** (Action). Link or unlink external issues to or from an issue in Pylon. Requires id, external_issue_id, and source. Returns fields such as id, assignee info, external_issues, state, and key timing and status fields in the response.
- **List all Pylon knowledge bases** (List). List all knowledge bases in Pylon. Returns id, default_language, slug, supported_languages, and title for each knowledge base in the response.
- **Get single Pylon knowledge base by ID** (Get). Get a knowledge base in Pylon by id. Returns id, default_language, slug, supported_languages, and title in the response.
- **Pylon messages redact** (Action). Redact a specific message in Pylon. Requires id and message_id. Returns author, email_info, file_urls, id, is_private, message_html, source, thread_id, and timestamp for the redacted message.
- **List all Pylon tags** (List). List all tags in Pylon. Returns hex_color, id, object_type, and value for each tag.
- **Get single Pylon tag by ID** (Get). Get a tag in Pylon by id. Returns id, value, hex_color, and object_type fields in the response.
- **Create a Pylon tag** (Create). Create a new tag in Pylon. Requires object_type and value. Returns hex_color, id, object_type, and value fields in the response.
- **Update a Pylon tag by ID** (Update). Update an existing tag in Pylon by id. Returns hex_color, id, object_type, and value for the updated tag.
- **Delete a Pylon tag by ID** (Delete). Delete a tag in Pylon. Requires id. Returns request_id field indicating the request identifier in the response.
- **List all Pylon ticket forms** (List). List ticket-forms in Pylon. Returns id, name, slug, url, is_public, description_html, and fields (with name, slug, type, description_html) for each ticket-form.
- **List all Pylon users search** (List). Search users in Pylon with a required filter parameter. Returns id, email, emails, name, avatar_url, role_id, and status fields for matched users.
- **List all Pylon knowledge base collections** (List). List all collections in a specific knowledge base in Pylon. Requires id. Returned fields include created_at, description, id, parent_collection_id, slug, and title for each collection.
- **Create a Pylon knowledge base collection** (Create). Create a new knowledge-base-collections resource in Pylon using id and title. Returns id, title, description, slug, parent_collection_id, and created_at fields in the response.
- **Create a Pylon knowledge base article** (Create). Create a new knowledge-base-article in Pylon using id, author_user_id, body_html, and title. Returns current_published_content_html, id, identifier, is_published, last_published_at, slug, title, and visibility_config fields in the response.
- **Update a Pylon knowledge base article by ID** (Update). Update an existing knowledge-base-articles resource in Pylon using id and article_id. Returns current_published_content_html, id, identifier, is_published, last_published_at, slug, title, and visibility_config in the response.
- **Create a Pylon knowledge base route redirect** (Create). Create a route redirect in Pylon knowledge base. Requires id, from_path, object_id, and object_type. Returns created_at, from_path, id, language, object_id, and object_type fields in the response.
- **List all Pylon issues search** (List). Search issues in Pylon using a required filter; returns issues with fields including id, state, created_at, title, requester, assignee, custom_fields, tags, and link in the response. Requires filter.
- **List all Pylon issue followers** (List). Get followers of an issue in Pylon. Requires id. Returns an array of follower objects with id and type fields for each follower.
- **Create a Pylon issue follower** (Create). Add or remove followers for an issue in Pylon. Requires id. Returns data with id and type of each follower and the request_id of the operation in the response.
- **List all Pylon contacts search** (List). Search contacts in Pylon by filter. Requires filter. Returns account.id, avatar_url, custom_fields, email, emails, id, name, and portal_role in the response.
- **List all Pylon activity types** (List). List custom activity types in Pylon. Returns icon_url, id, label, and slug fields for each activity type.
- **List all Pylon account search** (List). Search accounts in Pylon using a required filter. Returns data including id, name, domains, tags, type, created_at, owner, channels, crm_settings, external_ids, custom_fields, latest_customer_activity_time, and primary_domain for each account.
