Pylon MCP Server
# Pylon MCP Server
An MCP (Model Context Protocol) server for integrating with the Pylon API.
## Features
This MCP server provides tools to interact with Pylon's API:
- **User Management**: Get current user information
- **Contacts**: List, search, and create contacts
- **Issues**: List, filter, and create issues
- **Knowledge Base**: Access and create knowledge base articles
## Setup
### Environment Variables
Set the following environment variable:
- `PYLON_API_TOKEN`: Your Pylon API token (required)
### Installation
```bash
npm install
npm run build
```
### Development
```bash
npm run dev
```
## Available Tools
### User Tools
- `pylon_get_me`: Get current user information
### Contact Tools
- `pylon_get_contacts`: List contacts with optional search and limit
- `pylon_create_contact`: Create a new contact
### Issue Tools
- `pylon_get_issues`: List issues with optional filtering by assignee, status, and limit
- `pylon_create_issue`: Create a new issue
### Knowledge Base Tools
- `pylon_get_knowledge_bases`: List all knowledge bases
- `pylon_get_knowledge_base_articles`: Get articles from a specific knowledge base
- `pylon_create_knowledge_base_article`: Create a new article in a knowledge base
## Usage Examples
### Running Locally with Claude Desktop
1. **Setup Environment**:
```bash
# Clone and install
git clone <your-repo-url>
cd pylon-mcp-server
npm install
npm run build
# Set up environment variables
cp .env.example .env
# Edit .env and add your PYLON_API_TOKEN
```
2. **Configure Claude Desktop**:
Add this to your Claude Desktop MCP settings (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
```json
{
"mcpServers": {
"pylon": {
"command": "node",
"args": ["/path/to/pylon-mcp-server/dist/index.js"],
"env": {
"PYLON_API_TOKEN": "your_pylon_api_token_here"
}
}
}
}
```
3. **Test the Connection**:
Restart Claude Desktop and try these commands in a conversation:
```text
Use the pylon_get_me tool to check my Pylon user info
Use pylon_get_issues to show recent support tickets
Search for contacts with pylon_search_contacts using "customer@example.com"
```
### Running via Smithery
1. **Deploy to Smithery**:
- Upload your project to Smithery
- Smithery will automatically use the `smithery.yaml` configuration
- Set the `PYLON_API_TOKEN` environment variable in Smithery's deployment settings
2. **Configure in Claude Desktop**:
```json
{
"mcpServers": {
"pylon": {
"command": "npx",
"args": ["-y", "@smithery/pylon-mcp-server"]
}
}
}
```
### Example Tool Usage
Once connected, you can use any of the 23+ available tools:
```text
# User Management
"Get my user info" → uses pylon_get_me
"Search for users named John" → uses pylon_search_users
# Issue Management
"Show all open issues" → uses pylon_get_issues
"Create a new bug report" → uses pylon_create_issue
"Add a comment to issue #123" → uses pylon_create_issue_message
# Knowledge Base
"List all knowledge bases" → uses pylon_get_knowledge_bases
"Create a new help article" → uses pylon_create_knowledge_base_article
# Team & Account Management
"Show all teams" → uses pylon_get_teams
"Get account details" → uses pylon_get_accounts
```
## Deployment to Smithery
This server is designed to be deployed to Smithery using the included `smithery.yaml` configuration. The deployment will automatically:
- Install dependencies with `npm install && npm run build`
- Configure the Node.js runtime with proper entrypoint
- Expose all 23 Pylon API tools
- Require the `PYLON_API_TOKEN` environment variable
## API Reference
For more information about the Pylon API, visit the [API reference](https://docs.usepylon.com/pylon-docs/developer/api/api-reference).
TDQS
Scored across 29 tools
Each tool has a clearly distinct purpose targeting specific resources and actions in the Pylon support system. For example, pylon_create_contact, pylon_create_issue, and pylon_create_webhook handle different entities, while pylon_get_issue, pylon_get_issue_messages, and pylon_search_issues provide distinct ways to access issue data without overlap.
All tools follow a consistent pylon_verb_noun naming pattern throughout the entire set. The structure is uniform with clear verbs (create, get, delete, search, update, snooze) followed by specific nouns (contact, issue, webhook, etc.), making the tool set predictable and easy to navigate.
With 29 tools, the count is borderline high for a support system server, potentially overwhelming for agents. While the tools cover comprehensive operations, a more streamlined set (e.g., 15-20 tools) might improve usability without sacrificing functionality, as some tools like pylon_get_issue and pylon_get_issue_messages could be consolidated.
The tool set provides complete CRUD and lifecycle coverage for the Pylon support domain, including contacts, issues, teams, knowledge bases, webhooks, and more. It offers create, get, update, delete, and search operations across all major entities, with no apparent gaps that would hinder agent workflows in customer support management.