Skip to main content
Glama
pratapsfdc22-dev

Salesforce AI Agent MCP Server

Salesforce AI Agent MCP Server

A production-grade Model Context Protocol (MCP) server that gives Claude direct, structured access to Jira Cloud, Salesforce (Tooling + Metadata APIs), and n8n workflows.

Built for the Salesforce Developer AI Agent project — an automation pipeline that reads Jira stories, interprets Salesforce configuration requirements, and deploys metadata (custom fields, validation rules, etc.) directly into Salesforce.


Architecture

Claude Desktop / Claude Code / VS Code
           │  (stdio or SSE)
           ▼
  salesforce-ai-agent-mcp
  ┌───────────────────────────┐
  │  Tools (12 total)         │
  │  ├── Jira (4 tools)       │──► Jira Cloud REST API v3
  │  ├── Salesforce (6 tools) │──► Salesforce Tooling + Metadata APIs
  │  └── n8n (2 tools)        │──► n8n Webhook + REST API
  └───────────────────────────┘

Related MCP server: jira-mcp-server

Prerequisites

  • Node.js ≥ 18

  • npm ≥ 9

  • A Jira Cloud account with API token

  • A Salesforce org with a Connected App (OAuth 2.0)

  • An n8n instance (optional, for workflow orchestration)


Installation

cd salesforce-ai-agent-mcp
npm install
npm run build

Configuration

Copy .env.example to .env and fill in your credentials:

cp .env.example .env

Jira

Variable

Description

JIRA_BASE_URL

e.g. https://your-org.atlassian.net

JIRA_EMAIL

Your Atlassian account email

JIRA_API_TOKEN

Generate at Atlassian API Tokens

Salesforce

You need a Connected App with the Username-Password OAuth flow enabled.

  1. In Salesforce Setup → App Manager → New Connected App

  2. Enable OAuth settings

  3. Add scope: api, refresh_token

  4. Copy Consumer Key → SF_CLIENT_ID

  5. Copy Consumer Secret → SF_CLIENT_SECRET

Variable

Description

SF_LOGIN_URL

https://login.salesforce.com (prod) or https://test.salesforce.com (sandbox)

SF_CLIENT_ID

Connected App Consumer Key

SF_CLIENT_SECRET

Connected App Consumer Secret

SF_USERNAME

Your Salesforce username

SF_PASSWORD

Your Salesforce password

SF_SECURITY_TOKEN

Reset at Setup → Personal Information → Reset Security Token

SF_API_VERSION

API version, e.g. v61.0 (default)

n8n

Variable

Description

N8N_BASE_URL

Your n8n instance URL, e.g. https://your-n8n.com

N8N_API_KEY

Generate at n8n Settings → API → Create API Key


Usage

stdio mode (Claude Desktop / Claude Code / VS Code)

npm start
# or for development:
npm run dev

SSE mode (for remote/n8n integration)

npm run start:sse
# or for development:
npm run dev:sse

Endpoints available in SSE mode:

  • GET http://localhost:3000/sse — clients connect here

  • POST http://localhost:3000/messages?sessionId=<id> — clients send messages here

  • GET http://localhost:3000/health — liveness probe

Override the port:

MCP_PORT=8080 npm run start:sse

Connecting to Claude Desktop

Add the following to your claude_desktop_config.json:

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

{
  "mcpServers": {
    "salesforce-ai-agent": {
      "command": "node",
      "args": ["/absolute/path/to/salesforce-ai-agent-mcp/dist/index.js"],
      "env": {
        "JIRA_BASE_URL": "https://your-org.atlassian.net",
        "JIRA_EMAIL": "you@company.com",
        "JIRA_API_TOKEN": "your_token",
        "SF_LOGIN_URL": "https://login.salesforce.com",
        "SF_CLIENT_ID": "your_client_id",
        "SF_CLIENT_SECRET": "your_client_secret",
        "SF_USERNAME": "you@yourorg.com",
        "SF_PASSWORD": "yourpassword",
        "SF_SECURITY_TOKEN": "yourSecurityToken",
        "N8N_BASE_URL": "https://your-n8n.com",
        "N8N_API_KEY": "your_n8n_api_key"
      }
    }
  }
}

Connecting to Claude Code (VS Code Extension)

Add to your VS Code settings.json (or via the MCP extension UI):

{
  "mcp.servers": {
    "salesforce-ai-agent": {
      "command": "node",
      "args": ["${workspaceFolder}/salesforce-ai-agent-mcp/dist/index.js"],
      "env": {
        "JIRA_BASE_URL": "https://your-org.atlassian.net",
        "JIRA_EMAIL": "you@company.com",
        "JIRA_API_TOKEN": "your_token",
        "SF_LOGIN_URL": "https://login.salesforce.com",
        "SF_CLIENT_ID": "your_client_id",
        "SF_CLIENT_SECRET": "your_client_secret",
        "SF_USERNAME": "you@yourorg.com",
        "SF_PASSWORD": "yourpassword",
        "SF_SECURITY_TOKEN": "yourSecurityToken",
        "N8N_BASE_URL": "https://your-n8n.com",
        "N8N_API_KEY": "your_n8n_api_key"
      }
    }
  }
}

Alternatively, the mcp.json file at the root of this project is compatible with VS Code's MCP extension and will be auto-detected if placed in your workspace root.


Available Tools (12 total)

Jira Tools

jira_get_story

Fetch a Jira story by issue key. Returns summary, description, acceptance criteria, status, labels, and all custom fields.

issueKey: "SFDC-123"

jira_update_story_status

Transition a Jira story to a new workflow status.

issueKey: "SFDC-123"
targetStatus: "In Progress"   # must match an available transition

jira_post_comment

Post a comment to a Jira story (used by the AI agent to report results or ask for clarification).

issueKey: "SFDC-123"
body: "Deployed Customer_Tier__c field to Account. Deployment ID: 0Af..."

jira_search_stories

JQL-based story search.

jql: "label = \"sf-config\" AND status = \"To Do\" AND project = SFDC"
maxResults: 25

Salesforce Tools

salesforce_get_object_fields

Describe all fields on a Salesforce object.

objectName: "Account"

salesforce_create_custom_field

Create a custom field via the Tooling API.

objectName: "Account"
fieldLabel: "Customer Tier"
fieldApiName: "Customer_Tier"     # __c added automatically
fieldType: "Picklist"
picklistValues: ["Platinum", "Gold", "Silver", "Bronze"]
description: "Tier classification for account segmentation"

Lookup field example:

objectName: "Case"
fieldLabel: "Related Contract"
fieldApiName: "Related_Contract"
fieldType: "Lookup"
referenceTo: "Contract"

salesforce_create_validation_rule

Create a validation rule via the Tooling API.

objectName: "Account"
ruleName: "Require_Phone_For_Hot_Leads"
errorConditionFormula: "AND(Rating = \"Hot\", ISBLANK(Phone))"
errorMessage: "Phone number is required for Hot-rated accounts"
errorDisplayField: "Phone"
active: true

salesforce_deploy_metadata

Trigger a metadata deployment from a base64-encoded ZIP.

zipFile: "<base64-encoded-zip>"
checkOnly: false
testLevel: "RunLocalTests"
rollbackOnError: true

salesforce_get_deployment_status

Poll a deployment's status.

deploymentId: "0AfXXXXXXXXXXXXX"

salesforce_query

Execute SOQL for validation and verification.

soql: "SELECT Id, Name, Customer_Tier__c FROM Account WHERE Rating = 'Hot' LIMIT 10"

n8n Tools

n8n_trigger_workflow

Trigger an n8n workflow via webhook URL.

webhookUrl: "https://your-n8n.com/webhook/abc123"
payload: {
  "issueKey": "SFDC-123",
  "environment": "sandbox",
  "triggeredBy": "claude"
}

n8n_get_execution_status

Check the status of an n8n execution.

executionId: "12345"

Example AI Agent Workflow

You: "Process Jira story SFDC-456 and deploy the Salesforce configuration"

Claude:
1. jira_get_story(issueKey: "SFDC-456")
   → reads requirements: "Add Customer_Tier picklist to Account"

2. salesforce_get_object_fields(objectName: "Account")
   → confirms Customer_Tier__c doesn't exist yet

3. salesforce_create_custom_field(
     objectName: "Account",
     fieldLabel: "Customer Tier",
     fieldApiName: "Customer_Tier",
     fieldType: "Picklist",
     picklistValues: ["Platinum", "Gold", "Silver"]
   )
   → creates the field

4. salesforce_query(soql: "SELECT QualifiedApiName FROM FieldDefinition WHERE EntityDefinition.QualifiedApiName = 'Account' AND QualifiedApiName = 'Customer_Tier__c'")
   → verifies the field was created

5. jira_post_comment(
     issueKey: "SFDC-456",
     body: "✅ Customer_Tier__c picklist field created on Account object with values: Platinum, Gold, Silver."
   )

6. jira_update_story_status(issueKey: "SFDC-456", targetStatus: "Done")

Logging

All logs are written as structured JSON to stderr so they never interfere with the MCP stdio transport.

Control the log level via environment variable:

LOG_LEVEL=debug npm start    # debug | info | warn | error

Development

# Type-check only
npm run typecheck

# Build
npm run build

# Dev with hot reload (stdio)
npm run dev

# Dev with hot reload (SSE)
npm run dev:sse

Project Structure

salesforce-ai-agent-mcp/
├── src/
│   ├── index.ts              # Entry point — stdio & SSE transport setup
│   ├── server.ts             # McpServer creation & tool registration
│   ├── tools/
│   │   ├── jira.ts           # Jira tool definitions (4 tools)
│   │   ├── salesforce.ts     # Salesforce tool definitions (6 tools)
│   │   └── n8n.ts            # n8n tool definitions (2 tools)
│   ├── clients/
│   │   ├── jiraClient.ts     # Jira REST API v3 client
│   │   ├── salesforceClient.ts  # Salesforce Tooling/Metadata API + OAuth
│   │   ├── n8nClient.ts      # n8n webhook + REST API client
│   │   └── logger.ts         # Structured JSON logger (stderr)
│   └── types/
│       └── index.ts          # Shared TypeScript types
├── .env.example              # All required environment variables
├── mcp.json                  # VS Code MCP extension manifest
├── package.json
├── tsconfig.json
└── README.md

Available Tools

12 tools
jira_get_storyA

Fetch a Jira story by issue key. Returns summary, description, acceptance criteria, status, labels, assignee, and all custom fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesJira issue key in the format PROJECT-NNN (e.g. SFDC-123)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosure. It clearly states this is a fetch operation (safe, read-only) and explicitly lists the returned data fields, including 'all custom fields'. It does not mention error handling or response structure, but for a simple, non-destructive retrieval, the description provides adequate transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, front-loaded with the verb and resource, and then lists return fields. Every word adds value, with no fluff or redundancy. It is appropriately sized for a simple single-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one param, no output schema) and the description adequately covers what the tool does and what it returns. The list of return fields provides some expectations, though it does not describe the response shape or potential errors. Given the low complexity, this is fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter issueKey is fully described in the schema with format and example (PROJECT-NNN). The description references 'by issue key' but adds no additional meaning beyond the schema. Since schema coverage is 100%, a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Fetch' and identifies the resource 'Jira story by issue key', making the tool's primary purpose unmistakable. It also enumerates the return fields, further clarifying scope. This clearly distinguishes it from sibling tools like jira_search_stories (search) and jira_update_story_status (update).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies usage: use when you need a single Jira story by key. It does not explicitly state when not to use it or alternatives (e.g., use search when you don't have a key), but the context is clear enough for an agent to infer the appropriate scenario. The lack of explicit exclusions keeps it at 4 rather than 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jira_post_commentA

Post a comment to a Jira story. Used by the AI agent to document deployment results, ask for clarification, or provide status updates. Supports plain text with paragraphs separated by blank lines.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesComment text. Use double newlines to separate paragraphs. Supports plain text — rich formatting will be preserved as ADF.
issueKeyYesJira issue key (e.g. SFDC-123)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that the tool supports plain text with paragraphs separated by blank lines, which is a useful format constraint. However, it does not disclose potential side effects, authentication requirements, error behavior, or whether the comment is immediately visible, leaving some behavioral aspects implicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise sentences that front-load the primary action and then provide context. Every sentence contributes value without repetition or fluff. It is appropriately sized for a simple two-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two parameters, no output schema, and no annotations, the description covers the essential context: what it does, when to use it, and the input format. It does not explain return values, but none are expected here. It could mention whether the comment is appended to an existing thread, but the lack of output schema makes this less critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% coverage with descriptions for both parameters (body and issueKey). The description adds usage context but does not add new meaning about the parameters themselves. The text about plain text and paragraphs aligns with the body schema description, but does not go beyond it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool posts a comment to a Jira story, using a specific verb and resource. It is distinct from sibling tools like jira_update_story_status and jira_search_stories, as no other sibling handles comments. The provided use cases reinforce the purpose without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly lists when to use the tool: 'to document deployment results, ask for clarification, or provide status updates.' This provides clear context and avoids confusion with sibling tools, though it does not explicitly state when not to use it or name alternatives. The guidance is sufficient for an agent to select this tool for comment-related actions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jira_search_storiesA

Search Jira stories using JQL (Jira Query Language). Returns matching issues with full details. Example JQL: 'label = "sf-config" AND status = "To Do" AND project = SFDC ORDER BY created DESC'

ParametersJSON Schema
NameRequiredDescriptionDefault
jqlYesJQL query string. Examples: 'project = SFDC AND status = "To Do"', 'label = "sf-config" AND assignee = currentUser()', 'issuetype = Story AND sprint in openSprints()'
startAtNoZero-based offset for pagination (default 0)
maxResultsNoMaximum number of results to return (1–100, default 50)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears the full burden of disclosing behavior. It does state that the tool 'Returns matching issues with full details', which is useful, but it doesn't mention whether the operation is read-only, whether it enforces issue type 'Story', how pagination works (beyond schema defaults), or what 'full details' includes. This leaves some ambiguity for an agent, so a mid-range score is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: a clear statement of purpose and an example JQL. It is concise, front-loaded with the core verb and resource, and contains no filler. Every sentence earns its place; the example is directly actionable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a moderate complexity (pagination, required jql) and no output schema, so the description should clarify return values. It states 'Returns matching issues with full details', which gives a general idea but not the structure. Combined with the rich schema descriptions and the example, an agent has sufficient context to invoke the tool correctly, though a clearer definition of 'full details' would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: all three parameters (jql, startAt, maxResults) have detailed descriptions with examples, defaults, and constraints. The tool description adds an example JQL, but it largely duplicates examples already in the schema. Since the schema already provides complete parameter semantics, the description's added value is marginal, warranting the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Search Jira stories using JQL (Jira Query Language)'. It specifies the verb (search), resource (Jira stories), and method (JQL), which distinguishes it from sibling tools like jira_get_story (which fetches a single story) and jira_update_story_status. The example JQL further reinforces the intended use.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on how to use the tool (by constructing a JQL query) and gives a concrete example. However, it does not explicitly state when to use it over alternatives (e.g., 'use this when you need to search by criteria rather than fetching a specific story'). This is a minor gap, but the usage context is clear enough for an agent to choose it appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jira_update_story_statusA

Transition a Jira story to a new status. The available transitions depend on the current workflow configuration. Common statuses: 'To Do', 'In Progress', 'In Review', 'Done', 'Blocked'.

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesJira issue key (e.g. SFDC-123)
targetStatusYesThe target workflow status name (e.g. 'In Progress', 'Done', 'Blocked'). Must match an available transition exactly.

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility for disclosing side effects. It only states that transitions are workflow-dependent, which is a useful constraint, but it omits any information about permissions, reversibility, or what the operation returns. This is minimal behavioral disclosure for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the primary action, and includes a useful note about workflow dependency. Every sentence contributes meaning without unnecessary padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core purpose and acknowledges workflow variability, but it does not explain how to discover available transitions or what the tool returns. Given the lack of an output schema and the absence of guidance on preconditions, the description is adequate but not fully self-sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides detailed descriptions for both parameters, including format examples and exact-match requirements. The tool description adds no additional parameter information beyond restating common statuses already listed in the schema. With 100% schema coverage, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb ('Transition') and resource ('a Jira story'). It distinguishes from sibling tools like jira_get_story and jira_post_comment by focusing on status changes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context that transitions depend on workflow configuration, implying the agent may need to check the current status first. However, it does not explicitly mention when to use this tool versus alternatives or give exclusions. No alternatives are named, so it earns a mid-level score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

n8n_get_execution_statusA

Retrieve the current status and output data of an n8n workflow execution by its execution ID. Use this to poll whether a triggered workflow has completed successfully.

ParametersJSON Schema
NameRequiredDescriptionDefault
executionIdYesThe n8n execution ID returned by n8n_trigger_workflow or found in the n8n Executions panel

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden. It correctly indicates a read operation ('retrieve') and mentions output data, but doesn't disclose error behavior (e.g., invalid execution ID), rate limits, or whether partial data is returned before completion. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two succinct sentences: the first states the operation and the second states the use case. No redundant words, and the structure front-loads the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read tool with no output schema, the description covers the essential semantics and use case. It omits potential error handling, but given the simplicity, this is not a significant gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents the executionId parameter with its source and purpose. The description adds no further parameter detail, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves the status and output data of an n8n workflow execution by ID. This specific verb-resource pairing distinguishes it from sibling n8n_trigger_workflow, which creates executions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says to use this for polling whether a triggered workflow completed successfully, giving clear context. It doesn't list exclusions or explicitly name alternatives, but the sibling relationship is implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

n8n_trigger_workflowA

Trigger a specific n8n workflow by its webhook URL, passing a JSON payload. This enables Claude to kick off the full Salesforce automation pipeline — for example, by sending a Jira issue key to start the analysis and deployment workflow.

ParametersJSON Schema
NameRequiredDescriptionDefault
payloadYesJSON payload to send to the webhook. Structure depends on what the n8n workflow expects. For the Salesforce AI Agent pipeline, include fields like: { issueKey, projectKey, environment, triggeredBy }
webhookUrlYesThe full n8n webhook URL for the workflow (e.g. https://your-n8n.com/webhook/abc123). Obtain this from the Webhook trigger node in your n8n workflow.
waitForResponseNoIf true, the tool waits for a synchronous response from the webhook. If false (default), it fires-and-forgets and returns immediately. Set to true only for workflows configured with 'Respond to Webhook' node.

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates a side-effectful action ('kick off' a pipeline) but does not disclose potential consequences, authentication requirements, or response behavior. The schema mentions waitForResponse semantics, but that is schema text, not the description. This lack of transparency for a triggering action is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary action. Every sentence earns its place: the first states the core functionality, the second illustrates applicability. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is moderately complex with a webhook trigger and optional waitForResponse, but the schema covers parameters well. The description lacks guidance on follow-up actions, such as using n8n_get_execution_status to monitor the triggered workflow, and does not mention error handling or authentication context. It is adequate but leaves gaps that could affect an agent's end-to-end usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter is already documented in the schema. The description adds a brief example use case (Jira issue key) but does not expand meaningfully on parameter semantics beyond what the schema provides. Baseline of 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action ('Trigger a specific n8n workflow by its webhook URL') and the resource (n8n workflow). It also distinguishes from sibling tools by focusing on triggering rather than status retrieval, and provides a concrete use case involving the Salesforce pipeline.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool ('to kick off the full Salesforce automation pipeline') and gives a concrete example (sending a Jira issue key). It does not explicitly state exclusions or alternatives, but the context with n8n_get_execution_status suggests it is the entry point followed by status checks. A clear 'when not to use' is absent, leaving it slightly below explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

salesforce_create_custom_fieldB

Create a custom field on a Salesforce object using the Tooling API. Supports all standard field types including Text, Number, Picklist, Checkbox, Date, Lookup, and more.

ParametersJSON Schema
NameRequiredDescriptionDefault
scaleNoNumber of decimal places for Number/Currency/Percent fields (default 0)
lengthNoField length. For Text: 1–255 (default 255). For LongTextArea/RichTextArea: up to 131072 (default 32768). Not used for Date, Checkbox, etc.
uniqueNoWhether the field value must be unique (default false)
formulaNoFormula expression for Formula fields
requiredNoWhether the field is required (default false)
fieldTypeYesSalesforce field type. One of: Text, Number, Currency, Picklist, MultiSelectPicklist, Checkbox, Date, DateTime, Email, Phone, URL, TextArea, LongTextArea, RichTextArea, Lookup, MasterDetail, Percent, AutoNumber, Formula
precisionNoTotal number of digits for Number/Currency/Percent fields (default 18)
fieldLabelYesHuman-readable field label (e.g. 'Customer Tier')
objectNameYesSalesforce object API name (e.g. 'Account', 'My_Object__c')
descriptionNoInternal description of the field's purpose
referenceToNoTarget object API name for Lookup or MasterDetail fields (e.g. 'Account', 'My_Object__c'). Required for Lookup/MasterDetail types.
defaultValueNoDefault value for the field. For AutoNumber fields, this sets the display format (e.g. 'CASE-{000000}')
fieldApiNameYesField API name without the __c suffix (e.g. 'Customer_Tier'). The __c suffix will be added automatically.
visibleLinesNoNumber of visible lines for LongTextArea/RichTextArea fields (default 5)
inlineHelpTextNoHelp text shown to users in the UI
picklistValuesNoList of picklist values for Picklist or MultiSelectPicklist fields (e.g. ['High', 'Medium', 'Low'])
relationshipNameNoRelationship name for Lookup/MasterDetail fields. Auto-generated if not provided.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It mentions 'using the Tooling API' but fails to disclose whether creation is immediate or staged, what permissions are needed, or what side effects might occur (e.g., field being unavailable until deployment). It also does not describe error behavior or impact on existing data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long and front-loaded with the core purpose. The second sentence, however, ends with 'and more' which is redundant given the enum is exhaustive, making it slightly less crisp but still efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex creation tool with 17 parameters, 4 required, and no output schema. The description offers only a basic statement of intent and fails to explain what happens on success, how errors are reported, or how this fits into a broader Salesforce metadata lifecycle. Minimal for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% — all 17 parameters have descriptions in the input schema. The description's phrase 'Supports all standard field types including...' adds little beyond the schema's exhaustive enum. No additional parameter relationships or usage detail are provided in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create a custom field on a Salesforce object using the Tooling API', using a specific verb + resource. This distinguishes it from sibling tools like salesforce_create_validation_rule (validation rule creation) and salesforce_get_object_fields (reading fields).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool vs alternatives. It does not mention that this is for individual field creation rather than bulk deployment (salesforce_deploy_metadata), nor does it list any prerequisites or context for choosing this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

salesforce_create_validation_ruleB

Create a validation rule on a Salesforce object using the Tooling API. The rule evaluates an error condition formula and displays an error message when the formula returns true.

ParametersJSON Schema
NameRequiredDescriptionDefault
activeNoWhether the rule should be active after creation (default true)
ruleNameYesAPI name for the validation rule (no spaces, e.g. 'Require_Phone_For_Hot_Leads')
objectNameYesSalesforce object API name (e.g. 'Account', 'My_Object__c')
descriptionNoInternal description of the rule's purpose
errorMessageYesError message shown to users when validation fails (e.g. 'Phone is required for Hot leads')
errorDisplayFieldNoAPI name of the field where the error should appear. If omitted, the error appears at the top of the page.
errorConditionFormulaYesSalesforce formula that evaluates to TRUE when the record should be invalid. Example: 'AND(Rating = "Hot", ISBLANK(Phone))'

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the Tooling API and the rule's logic, but it does not disclose important traits such as whether the rule requires deployment, if it is reversible, permission requirements, or what happens on errors. This is a significant gap for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two concise sentences that front-load the primary verb and resource. It provides useful context about the rule's behavior without any waste. Every phrase earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the tool having 7 parameters and no output schema, the description fails to provide necessary context. It does not mention deployment requirements, permissions, the creation process via Tooling API, or validations on the formula. The schema covers parameters, but the behavioral and operational context is incomplete for a create operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description includes terms like 'error condition formula' and 'error message' that map to parameters, but adds no new meaning beyond the schema. The schema already provides detailed descriptions and examples, so the description does not compensate for any gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Create a validation rule on a Salesforce object using the Tooling API.' It also explains the rule's behavior (evaluates an error condition formula and displays an error message when the formula returns true), which distinguishes it from sibling tools like salesforce_create_custom_field and salesforce_query.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus alternatives. It does not mention any 'when' or 'when not' conditions, prerequisites, or reference to sibling tools. The only implied context is that it creates validation rules, but there is no stated use case or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

salesforce_deploy_metadataB

Trigger a Salesforce metadata deployment using the Metadata API. The metadata must be provided as a base64-encoded ZIP file containing a standard Salesforce metadata package.

ParametersJSON Schema
NameRequiredDescriptionDefault
zipFileYesBase64-encoded ZIP file containing the Salesforce metadata package. Must include package.xml and the appropriate metadata folders.
runTestsNoSpecific test class names to run when testLevel is 'RunSpecifiedTests'
checkOnlyNoIf true, validates the deployment without making changes (dry run). Default false.
testLevelNoTest execution level. Use 'RunLocalTests' or 'RunAllTestsInOrg' for production deployments.NoTestRun
ignoreWarningsNoAllow deployment to succeed with warnings (default false)
rollbackOnErrorNoRoll back all changes if any component fails (default true)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full responsibility for behavioral disclosure. It fails to mention that deployments are typically asynchronous, that a deployment ID is returned, or that changes may be rolled back if errors occur. It also doesn't state potential side effects beyond the obvious deployment action, which is a significant gap for a mutating operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, front-loaded with the core action and requirement. No filler or redundant information, earning a high score for efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 6 parameters, no annotations, no output schema, and a sibling for status checking, the description is minimal. It doesn't explain the deployment workflow, what the tool returns, or how to leverage the result. This is insufficient for the complexity and mutating nature of the operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are already well-documented. The description adds no additional meaning beyond restating the ZIP requirement, which is already present in the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool triggers a Salesforce metadata deployment via the Metadata API, with a specific requirement for a base64-encoded ZIP. This distinguishes it from sibling tools like salesforce_get_deployment_status and jira_get_story.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as salesforce_get_deployment_status. The description doesn't mention the deployment lifecycle or that users may need to check status separately, leaving the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

salesforce_get_deployment_statusA

Poll the status of a Salesforce metadata deployment by its deployment ID. Returns component counts, errors, and test results.

ParametersJSON Schema
NameRequiredDescriptionDefault
deploymentIdYesThe deployment ID returned by salesforce_deploy_metadata (18-character Salesforce ID)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. 'Poll' implies a read-only, potentially repeated operation, and it discloses what is returned (component counts, errors, test results). However, it does not mention error behavior (e.g., invalid ID), what happens if deployment is still in progress, or any rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences convey the essential information. The first sentence front-loads the action and resource, and the second lists return values. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a simple single-parameter tool with no output schema and no annotations. The description adequately explains the purpose and return values, covering component counts, errors, and test results. It could improve by clarifying the 'status' aspect (e.g., states like InProgress, Succeeded) and error conditions, but it is sufficient for basic invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameter is already well-documented in the schema. The tool description adds little beyond restating 'deployment ID' from the schema, though the schema's reference to salesforce_deploy_metadata is helpful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Poll the status'), the specific resource ('Salesforce metadata deployment'), and the identifier ('deployment ID'). It also lists key return elements, distinguishing it from other tools like salesforce_deploy_metadata and n8n_get_execution_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage after a deployment is initiated, and the parameter description explicitly references salesforce_deploy_metadata as the source of the ID. However, it does not provide explicit 'when not to use' or name alternative tools for situations where polling is not appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

salesforce_get_object_fieldsA

Query all existing fields on a Salesforce object using the REST API describe endpoint. Returns field names, labels, types, lengths, and picklist values.

ParametersJSON Schema
NameRequiredDescriptionDefault
objectNameYesSalesforce object API name (e.g. 'Account', 'Contact', 'Opportunity', 'My_Custom_Object__c')

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description should carry the burden of behavioral disclosure. It mentions using the REST API describe endpoint and lists the returned attributes, which is helpful, but it does not explicitly state that this is a read-only operation, whether authentication is required, or any limiting constraints. The description is acceptable but not richly transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the main purpose and immediately states the return content. Every word adds value, with no redundancy or unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool with no output schema, the description is complete: it explains what the tool does, how it works (via describe endpoint), and what it returns. There are no hidden complexities or missing prerequisites that would affect an agent's ability to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already fully describes the only parameter (objectName) with an example and explanation, so schema coverage is 100%. The description does not add additional parameter semantics beyond confirming that it operates on a Salesforce object, which aligns with the baseline of 3 for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Query'), a precise resource ('all existing fields on a Salesforce object'), and the method ('using the REST API describe endpoint'). It clearly differentiates from siblings like salesforce_query (which queries records) and salesforce_create_custom_field (which creates fields).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use this tool: when field metadata is needed (names, labels, types, etc.), not when querying records. It does not explicitly name alternative tools or state exclusions, but the context is sufficiently clear for an agent to select it appropriately among the listed siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

salesforce_queryA

Execute a SOQL query against Salesforce and return the results. Use this to verify field values after deployment, check existing records, or validate configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
soqlYesSOQL query string. Example: 'SELECT Id, Name, Rating, Phone FROM Account WHERE Rating = \'Hot\' LIMIT 10'
maxRecordsNoMaximum records to return (1–2000). Use LIMIT in your SOQL for precise control. Default: returns whatever SOQL specifies.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It implies a read-only operation through 'query' but does not explicitly state it is safe, nor does it mention rate limits, error handling, or result pagination. Some important behavioral details are missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the action, and the second sentence adds useful context without redundancy. No fluff or unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has only two simple parameters and no output schema, but the description does not mention return value format, potential errors, or read-only guarantees. It covers the basic purpose and use cases but leaves some gaps for a complete picture.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are well-documented in the schema. The description adds little beyond general purpose, not enhancing the parameter meaning beyond what the schema already provides. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'Execute a SOQL query against Salesforce' and explicitly mentions it returns results. It distinguishes from siblings like salesforce_get_object_fields (metadata retrieval) and deployment tools by focusing on data querying.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides concrete use cases: 'verify field values after deployment, check existing records, or validate configuration.' This gives clear context for when to use the tool, though it does not explicitly mention when not to use it or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 12 tool updatesv1.0.0
    • First observedjira_get_story
    • First observedjira_post_comment
    • First observedjira_search_stories
    • First observedjira_update_story_status
    • First observedn8n_get_execution_status
    • First observedn8n_trigger_workflow
    • First observedsalesforce_create_custom_field
    • First observedsalesforce_create_validation_rule
    • First observedsalesforce_deploy_metadata
    • First observedsalesforce_get_deployment_status
    • First observedsalesforce_get_object_fields
    • First observedsalesforce_query

TDQS

A3.9/5.0
Disambiguation5/5

Each tool targets a distinct action on a specific resource: Jira stories, Salesforce metadata/objects, and n8n workflows. There is no overlap between tools like get_deployment_status and get_execution_status because they operate on different systems.

Naming Consistency5/5

All tool names follow a consistent pattern of domain_verb_noun (e.g., jira_get_story, salesforce_create_custom_field, n8n_trigger_workflow). Even salesforce_query fits, as 'query' functions as both verb and noun without breaking the convention.

Tool Count5/5

The 12 tools are well-scoped for a cross-platform integration server covering Jira, Salesforce, and n8n. Each tool serves a clear purpose with no redundancy, so the count feels appropriate for the domain.

Completeness4/5

The tool surface covers the core workflow: fetching Jira stories, searching, commenting, modifying Salesforce metadata, deploying, and triggering/polling n8n workflows. Minor gaps exist, such as no update/delete for validation rules or custom fields, but the main lifecycle is adequately covered.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude to interact with Jira through JQL (Jira Query Language) queries using the Model Control Protocol, allowing natural language access to Jira issue tracking and project management.
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables Claude AI and other MCP clients to interact with Jira Server/Data Center through tools like listing issues, logging work, and updating issues, requiring user confirmation for write operations.
    8
    98
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables management of n8n workflows, executions, credentials, tags, and variables via MCP tools. Supports stdio, Claude Code, and Claude Web with optional Authentik OAuth.
    22
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Aggregates GitHub, GitLab, and Figma development tools via MCP, enabling file access, code search, and design inspection. Also supports executing standalone tasks with Claude Code or Codex CLI.
    31
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pratapsfdc22-dev/salesforce-ai-agent-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server