Skip to main content
Glama
SubscriberAPI MCP Server

SubscriberAPI MCP Server

SubscriberAPI MCP Server

An MCP (Model Context Protocol) server that lets GitHub Copilot CLI query SFMC SubscriberAPI execution logs — health checks, email lookups, execution traces, and recent errors.

Who is this for?

SFMC developers and engineers who want to troubleshoot SubscriberViaAPI issues from the terminal using natural language, for example:

  • "Is the SubscriberAPI log endpoint healthy?"

  • "Find recent errors for source MyForm."

  • "Get the execution trace for FormRequestID abc-123."

Related MCP server: copilot-mcp-server

Prerequisites

Quick start

1. Clone the repo

git clone https://github.com/YOUR-ORG/subscriberapi-mcp.git
cd subscriberapi-mcp

Tip: Clone to a folder without spaces in the path (e.g. C:\dev\subscriberapi-mcp) to avoid Windows path issues.

2. Install and build

npm run setup

3. Add your credentials

cp .env.example .env

Edit .env and set:

  • SFMC_LOG_ENDPOINT — your SFMC execution log API URL

  • SFMC_LOG_API_KEY — your API key

Never commit .env. It is already in .gitignore.

4. Use with GitHub Copilot CLI

This repo includes a project-level MCP config (.mcp.json) with a relative path — no machine-specific paths required.

From the cloned repo folder, start Copilot:

copilot

Copilot auto-loads .mcp.json when you work in this project. You should see subscriberapi with a green checkmark under MCP Servers.

5. Test it

Inside Copilot:

Use subscriberapi health_check and tell me the result.

Or from the shell (one-shot):

copilot -p "Call subscriberapi health_check" --allow-all-tools

MCP tools

Tool

Description

health_check

Check if the SFMC log endpoint is available

get_executions_by_email

Find executions by email (optional source, date range, limit)

get_execution_trace

Get full trace for a formRequestId

get_recent_errors

List recent errors (optional filters)

How configuration works

File

Purpose

.mcp.json

Shared Copilot MCP config (relative dist/index.js, no secrets)

.env

Private API credentials (each developer creates their own)

~/.copilot/mcp-config.json

Optional global Copilot MCP config (user-specific)

Recommended: Rely on .mcp.json in the repo. Each developer only needs their own .env.

If you previously added subscriberapi to your global ~/.copilot/mcp-config.json with an absolute path, remove it to avoid duplicates:

copilot mcp remove subscriberapi

Optional: global install (any folder)

If you want subscriberapi available outside this repo, register it once from the cloned folder:

Windows (PowerShell):

.\scripts\register-copilot-mcp.ps1

macOS / Linux:

./scripts/register-copilot-mcp.sh

These scripts read credentials from your .env and register an absolute path on your machine only.

Development

npm run dev    # run TypeScript directly (tsx)
npm run build  # compile to dist/
npm start      # run compiled server

Troubleshooting

Issue

Fix

Red X on subscriberapi

Run npm run build so dist/index.js exists

Missing SFMC_LOG_ENDPOINT

Create .env from .env.example

Path split at space (Windows)

Clone to a path without spaces, or use the register script

Permission denied in -p mode

Add --allow-all-tools

Duplicate subscriberapi servers

Run copilot mcp remove subscriberapi for the global entry

License

ISC

Available Tools

4 tools
get_executions_by_emailB

Find SubscriberViaAPI executions by email address, optionally filtered by source and date range.

Inputs: emailAddress (required), source, startDate, endDate, +2 more.

get_execution_traceB

Get the execution trace for one FormRequestID.

Inputs: formRequestId (required), includeFullTrace.

get_recent_errorsC

Find recent SubscriberViaAPI errors, optionally filtered by source and date range. Returns summaries by default.

Inputs: source, startDate, endDate, limit, +1 more.

health_checkA

Check whether the SFMC SubscriberAPI execution log endpoint is available.

Inputs: no named parameters.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool targets a distinct operation: lookup by email, trace retrieval, error fetching, and health check. There is no overlap, and the descriptions clearly differentiate them.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case, such as get_executions_by_email, get_execution_trace, get_recent_errors, and health_check.

    Tool Count5/5

    With 4 tools, the set is well-scoped for a focused log viewer API. Each tool serves a clear purpose without being sparse or overwhelming.

    Completeness4/5

    The set covers key operations for querying executions, traces, and errors, plus health check. A minor gap is the lack of an unfiltered execution list, but the core workflow is functional.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables searching and analyzing GitHub Copilot's conversation history stored locally, providing tools for full-text search, session listing, statistics, and file-based retrieval.
      6
      4
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Connect Claude (or any MCP client) to Salesforce Marketing Cloud. Explore Data Extensions, query records, and validate Automation Studio queries before running them.
      3
      47 npm
      MIT