Tooly
Tooly

MCP Server

Universal MCP server that exposes Tooly integrations to AI applications

The @tooly/mcp package provides a universal MCP (Model Context Protocol) server that exposes all Tooly integrations to AI applications like Claude Desktop, making it easy to use Tooly tools in AI workflows.

What is MCP?

The Model Context Protocol (MCP) is an open standard that enables AI applications to securely connect to external data sources and tools. It provides a standardized way for AI models to interact with various services and APIs.

Quick Start

# Run with all available integrations
npx @tooly/mcp@latest run

# List available integrations
npx @tooly/mcp@latest list-integrations

Claude Desktop Integration

Configuration

Add the following to your claude_desktop_config.json file:

{
  "mcpServers": {
    "tooly": {
      "command": "npx",
      "args": ["@tooly/mcp@latest", "run", "-i", "github,linear,resend"],
      "env": {
        "GITHUB_TOKEN": "your_github_token",
        "LINEAR_API_KEY": "your_linear_api_key",
        "RESEND_API_KEY": "your_resend_api_key"
      }
    }
  }
}

Location of Configuration File

The configuration file location depends on your operating system:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Supported Integrations

The MCP server supports all Tooly integrations. Add the required environment variables for each integration you want to use:

IntegrationEnvironment Variables
GitHubGITHUB_TOKEN
LinearLINEAR_API_KEY
NotionNOTION_API_KEY
StripeSTRIPE_SECRET_KEY
SupabaseSUPABASE_URL, SUPABASE_ANON_KEY
ResendRESEND_API_KEY
TwilioTWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN
VercelVERCEL_TOKEN
JiraJIRA_HOST, JIRA_EMAIL, JIRA_API_TOKEN
PayPalPAYPAL_CLIENT_ID, PAYPAL_CLIENT_SECRET
FirecrawlFIRECRAWL_API_KEY

Only integrations with valid environment variables will be loaded.

Tool Naming Convention

All tools are prefixed with their integration name to avoid conflicts:

  • github_createIssue - Create a GitHub issue
  • linear_searchIssues - Search Linear issues
  • notion_createPage - Create a Notion page
  • stripe_createCustomer - Create a Stripe customer
  • resend_sendEmail - Send email with Resend

CLI Commands

Run Server

Start the MCP server with all available integrations:

npx @tooly/mcp run

Run with specific integrations only:

npx @tooly/mcp run --integrations github,linear,resend

List Integrations

View all available integrations:

npx @tooly/mcp list-integrations

Environment Variables

You can use environment variables or a .env file to configure your API keys:

# .env file
GITHUB_TOKEN=ghp_your_github_token
LINEAR_API_KEY=lin_your_linear_api_key
RESEND_API_KEY=re_your_resend_api_key
STRIPE_SECRET_KEY=sk_test_your_stripe_key

Example Usage with Claude Desktop

Once configured, you can use natural language to interact with your integrations through Claude Desktop:

Create GitHub Issues:

"Create a GitHub issue titled 'Fix login bug' with description 'Users are unable to log in after the recent update'"

Search Linear Issues:

"Find all high-priority Linear issues assigned to me"

Send Emails:

"Send an email to john@example.com with subject 'Meeting Reminder' and body 'Don't forget about our meeting tomorrow at 2 PM'"

Troubleshooting

Server Not Starting

  1. Check that all required environment variables are set
  2. Verify your API keys are valid
  3. Ensure you have the latest version: npx @tooly/mcp@latest run

Tools Not Available in Claude

  1. Restart Claude Desktop after updating the configuration
  2. Check the Claude Desktop logs for any error messages
  3. Verify the configuration file is in the correct location

Integration Errors

  1. Verify your API keys have the correct permissions
  2. Check the integration documentation for setup requirements
  3. Test the integration separately using the individual @tooly/[integration] package

Development

Installation

npm install @tooly/mcp

Programmatic Usage

import { ToolyMCPServer } from '@tooly/mcp'

const server = new ToolyMCPServer({
  integrations: ['github', 'linear', 'resend'],
  env: {
    GITHUB_TOKEN: process.env.GITHUB_TOKEN,
    LINEAR_API_KEY: process.env.LINEAR_API_KEY,
    RESEND_API_KEY: process.env.RESEND_API_KEY,
  },
})

await server.start()