mParticle MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mParticle MCP Serverlist all data plans in workspace 12345"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mParticle MCP Server
A Model Context Protocol (MCP) server that provides integration with mParticle's Data Planning API. This server allows Claude Desktop and other MCP-compatible clients to interact with your mParticle data plans, retrieve schemas, and manage data governance workflows.
š Features
Data Plan Management: Retrieve all data plans or specific data plans by plan ID from your mParticle workspace
Authentication: Secure authentication with mParticle's API using client credentials stored as environment variables
Automatic Token Management: Handles bearer token refresh and expiration automatically
MCP Standard: Built using FastMCP framework for integration with Claude Desktop or other MCP clients.
Related MCP server: Alma Atlas
š Available Tools
get_all_data_plans
Retrieves all data plans for a specified workspace, including metadata like creation dates, descriptions, and plan status.
Parameters:
workspace_id(string): The mParticle workspace ID (required)
get_data_plan_by_id
Retrieves detailed information about a specific data plan, including version information and data plan elements.
Parameters:
workspace_id(string): The mParticle workspace ID (required)data_plan_id(string): The data plan ID to retrieve (required)
get_api_status
Checks the configuration status of the mParticle API client and credentials.
š ļø Installation
Prerequisites
Python 3.12+: Ensure you have Python 3.12 or higher installed
Claude Desktop: Download and install from the official website
mParticle API Credentials: You'll need an API key and secret from your mParticle account
1. Clone and Setup the Project
git clone <repository-url>
cd mparticle_mcp_server
# Install dependencies using uv (recommended)
uv sync
# Or install using pip
pip install -e .2. Environment Configuration
Create a .env file in the project root or set environment variables:
export MPARTICLE_API_KEY="your_mparticle_api_key"
export MPARTICLE_API_SECRET="your_mparticle_api_secret"Getting mParticle API Credentials:
Log into your mParticle dashboard
Navigate to Settings > Setup > API Keys
Create a new API key with Data Planning permissions
Copy the Key ID (API Key) and Secret
3. Test the Server
Run the server directly to test the configuration:
python mp_data_plan.pyIf configured correctly, you should see:
ā
mParticle API client configured and ready
š Starting MCP server...š§ Claude Desktop Integration
To use this MCP server with Claude Desktop, you need to add it to your Claude Desktop configuration.
Configuration File Location
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Configuration Setup
Locate or create the configuration file at the path above for your operating system.
Add the MCP server configuration:
{
"mcpServers": {
"mparticle": {
"command": "uv",
"args": [
"run",
"python",
"/Users/nmattox/Documents/Apps & Scripts/gen_ai/mparticle_mcp_server/mp_data_plan.py"
],
"env": {
"MPARTICLE_API_KEY": "your_mparticle_api_key",
"MPARTICLE_API_SECRET": "your_mparticle_api_secret"
}
}
}
}Important Notes:
Replace the path in
argswith the absolute path to yourmp_data_plan.pyfileReplace the environment variables with your actual mParticle API credentials
If you don't use
uv, you can replace"command": "uv"with"command": "python"and adjust the args accordingly:
{
"mcpServers": {
"mparticle": {
"command": "python",
"args": [
"/Users/nmattox/Documents/Apps & Scripts/gen_ai/mparticle_mcp_server/mp_data_plan.py"
],
"env": {
"MPARTICLE_API_KEY": "your_mparticle_api_key",
"MPARTICLE_API_SECRET": "your_mparticle_api_secret"
}
}
}
}Restart Claude Desktop after saving the configuration file.
Verify the installation:
Open Claude Desktop
Look for the š plug icon next to the message input
Click it to see available MCP tools - you should see the mParticle tools listed
š” Usage Examples
Once integrated with Claude Desktop, you can use natural language to interact with your mParticle data:
Example Queries:
"Show me all data plans in workspace 12345 - provide summaries for each plan"
Claude will use the
get_all_data_planstool automatically to pull all data plans then create a summary
"Get details for data plan 'mobile-app-schema' in workspace 12345 - share a summary of all data elements and suggest possible mParticle use cases given the plan"
Claude will use the
get_data_plan_by_idtool to pull the specific data plan, create a plan summary, then suggest possible use cases.
"Check if mParticle API is configured properly"
Claude will use the
get_api_statustool
"Given my use case XYZ and data plan xyz-789 for workspace 12345 - what are suggested improvements I can make to the data plan?"
Claude will retrieve the data plan and suggest plan improvements given the use case
šļø Project Structure
mparticle_mcp_server/
āāā mp_data_plan.py # Main MCP server with FastMCP tools
āāā mparticle_api.py # mParticle API client and authentication
āāā main.py # Simple test entry point
āāā pyproject.toml # Project dependencies and metadata
āāā uv.lock # Locked dependencies
āāā README.md # This fileš Related Links
Available Tools
3 toolsget_all_data_plansA
Get all data plans for a workspace.
This tool retrieves all data plans from mParticle's Data Planning API.
Data plans define the expected structure and validation rules for your events.
Args:
workspace_id: The mParticle workspace ID (required)
Returns:
JSON string containing all data plans and their metadata
Raises:
Exception: If API credentials are missing or API request fails
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full behavioral burden. It makes clear this is a retrieval operation, states the return format as a JSON string of data plans and metadata, and discloses that an exception is raised if credentials are missing or the request fails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and the Args/Returns/Raises structure is easy to scan. The second sentence is largely redundant with the first, and the data-plan background sentence is optional, so it is not maximally tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool with an output schema, the description is nearly complete: it explains the argument, the return shape, and failure behavior. The main gap is not guiding the agent toward sibling tools for single-plan or status lookups.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no property descriptions, and the description only adds 'The mParticle workspace ID (required)' for workspace_id. This identifies the parameter's role but does not provide a format, example, or guidance on how to locate the ID.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action and resource: 'Get all data plans for a workspace' and 'retrieves all data plans from mParticle's Data Planning API.' The plural 'all' differentiates it from get_data_plan_by_id, though it does not explicitly name that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use case is implied: use this when you need the full set of data plans for a workspace. However, there is no explicit guidance about alternatives like get_data_plan_by_id for a single plan or get_api_status for API health.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_api_statusA
Check the status of mParticle API configuration.
Returns:
Status message indicating if API credentials are configured
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavioral disclosure. It does disclose that the tool returns a status message about whether API credentials are configured, but it omits any mention of side effects, network access, or authentication requirements. For a read-only status check this is adequate but shallow.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with the action front-loaded and the return value cleanly specified. Every word earns its place; there is no verbosity or irrelevant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless status check, the description covers the essential purpose and return value. It does not elaborate on interpreting the status message or external dependencies, but an output schema exists and sibling tools help define the domain, making this sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so there is nothing to explain. The baseline of 4 for a zero-parameter tool applies, and the description does not introduce any parameter-related confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Check the status of mParticle API configuration') and clearly identifies the resource being checked. It is readily distinguished from sibling tools that operate on data plans, so an agent can tell them apart without deeper investigation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus the sibling data plan tools, so the usage context is only implied. However, the zero parameters and the specific resource ('API configuration' vs 'data plans') make the intended scenario reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_data_plan_by_idA
Get a specific data plan by ID.
This tool retrieves detailed information about a specific data plan from mParticle's Data Planning API.
Data plans define the expected structure and validation rules for your events.
Args:
workspace_id: The mParticle workspace ID (required)
data_plan_id: The data plan ID to retrieve (required)
Returns:
JSON string containing the data plan details and metadata
Raises:
Exception: If API credentials are missing or API request fails
| Name | Required | Description | Default |
|---|---|---|---|
| data_plan_id | Yes | ||
| workspace_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It states that the tool retrieves detailed information, returns a JSON string, and raises an exception on missing credentials or failed API requests. This covers the key behavioral aspects for a read-only retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections for Args, Returns, and Raises. The background sentence about data plans is brief and adds context without bloating the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter lookup, the description covers the core requirements: required arguments, return type, and failure behavior. An output schema exists, so detailed return fields do not need to be listed. It would benefit from explicit read-only or not-found behavior notes, but nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does give one-line meanings for both workspace_id and data_plan_id, but these largely restate what the parameter names imply. It does not add formatting guidance, source details, or how IDs are structured.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('a specific data plan by ID'), making the operation unambiguous. It also naturally distinguishes itself from the sibling tool 'get_all_data_plans' by emphasizing the singular, ID-based retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies this tool should be used when a specific data_plan_id is known and detailed information about that single plan is needed. It does not explicitly name alternatives or state when not to use it, but the 'by ID' framing provides sufficient context.
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.
3 tool updates
v0.1.0- First observed
get_all_data_plans - First observed
get_api_status - First observed
get_data_plan_by_id
TDQS
Each tool has a clearly distinct purpose: retrieving all data plans, retrieving a single data plan by ID, and checking API status. There is no overlap or ambiguity between them.
All tool names follow a consistent get_* verb pattern, with clear resource targets (data plans, data plan by id, api status). The naming is predictable and uniform.
Three tools is a reasonable count for a narrowly scoped read-only data plan server, though it feels slightly thin when considering the broader mParticle API surface. Each tool is useful and non-redundant.
The server only supports reading data plans and checking API status, with no create, update, or delete operations. This is a significant gap for managing data plans and leaves the surface incomplete.
Maintenance
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
List datasets, schemas, run APL queries, and use prompts for exploration, anomalies, and monitoring.
Query your org's data in natural language ā read-only MCP access to SQL, NoSQL, files & warehouses.
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
Query your warehouse or a CSV with Claude/ChatGPT over MCP, governed by table-level ACL + audit.
Related MCP Servers
AlicenseBqualityAmaintenanceEnables AI assistants to interact with Bauplan lakehouse operations, including querying tables, schema inspection, branch management, and pipeline execution.3315MIT- AlicenseNot gradedqualityCmaintenanceEnables AI agents to query live schema, lineage, and query-context across data warehouses, dbt projects, orchestration systems, and BI tools via MCP tools.Apache 2.0
- AlicenseBqualityAmaintenanceEnables interacting with Planhat customer data via natural language, supporting CRUD operations on companies, contacts, opportunities, notes, conversations, users, assets, issues, tickets, tasks, licenses, and invoices.60MIT
- AlicenseNot gradedqualityDmaintenanceEnables natural-language-driven exploration, querying, and full configuration management of Salesforce Data Cloud / Data 360 via MCP.Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/nmattox/mparticle-api--mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server