Skip to content
Developer ToolsQuality Score: 34/99 (Fair)No Auth RequiredSpec v2019-08-01auto GenerationTransport: stdio

Run History APIsMCP Configuration & Schema Registry

The Run History APIs Model Context Protocol (MCP) configuration provides a validated, machine-readable JSON schema and executable bridge that connects state-of-the-art AI coding assistants — including Claude Desktop, Cursor IDE, Windsurf, Cline, and VS Code Copilot — directly to the Run History APIs REST API. By leveraging the standardized open Model Context Protocol, AI agents can dynamically discover capabilities, validate input parameters against strict JSON Schemas, and execute live API operations without context switching or manual copy-pasting.

Quick Specs & Integration Summary

1. Functionality:Exposes 10 API endpoints as callable AI tools for Run History APIs.
2. Authentication:Zero authentication required — ready for immediate execution.
3. Protocol Layer:Standard Model Context Protocol JSON-RPC 2.0 via stdio transport.
4. Quick Launch:npx -y @modelcontextprotocol/server-openapi https://api.apis.guru/v2/specs/azure.com/machinelearningservices-runHistory/2019-08-01/swagger.json

Technical Architecture & Protocol Semantics

Under the Model Context Protocol specification, the Run History APIs configuration functions as an isolated protocol adapter. When an AI agent initializes a session, the client establishes a bidirectional JSON-RPC 2.0 communication channel over standard input/output (stdio) or Server-Sent Events (SSE). During the initial handshake, the server publishes its tool manifest extracted from the Run History APIs OpenAPI specification (version 2019-08-01).

The Run History APIs, provided by Microsoft Azure Machine Learning Services, constitute a comprehensive suite of endpoints designed for managing and analyzing the lifecycle of machine learning experiments. This API collection serves as the foundational infrastructure for recording, retrieving, and organizing all metadata associated with ML runs, including parameters, metrics, outputs, and tags. Its core capabilities enable programmatic access to an experiment's audit trail, allowing developers and data scientists to fetch detailed run histories, update experiment metadata, manage tags for organization, ingest batch events and run updates, and query specific performance metrics. This API is essential for enterprise MLOps (Machine Learning Operations) workflows, providing the data backbone for experiment tracking, model reproducibility, performance monitoring, and compliance auditing across projects and teams. When exposed as tools to an AI coding assistant through the Model Context Protocol (MCP), these APIs transform from a static data repository into a dynamic, queryable knowledge base that supercharges developer productivity. An AI agent equipped with MCP access to these endpoints can act as an intelligent collaborator, capable of understanding the current state and historical context of an ML project. The value lies in enabling the AI to perform complex data retrieval and manipulation tasks via natural language, bridging the gap between high-level intent and low-level API calls. For instance, a developer could ask their AI assistant to "analyze the last 10 failed runs from my 'fraud-detection' experiment and identify which hyperparameters were common," and the agent could autonomously construct and execute the appropriate GET requests, process the results, and present a synthesized analysis. Practical workflow examples demonstrate the transformative potential of this MCP integration. A developer could instruct the AI agent: "Query the metrics for run 'run-45' and compare them against the average of all runs tagged 'production-ready' to see if performance has degraded." The agent would use the metrics query endpoint, filter runs by tags, perform the comparative calculation, and report the findings. Another dynamic task could be: "Update the 'status' tag for all runs in experiment 'image-classifier-v2' that have an accuracy below 0.85 to 'needs-review'," prompting the agent to fetch runs, evaluate their metrics, and then execute the appropriate PATCH requests on the identified runs. This enables rapid, large-scale data curation and analysis tasks that would be tedious to perform manually, allowing the AI to automate repetitive data wrangling and surface actionable insights directly within the development environment. Secure implementation of this MCP server is paramount, even though the provided description notes "None" for authentication, which in a real-world Azure context refers to the absence of an API key embedded in the endpoint URL itself. All access must be rigorously authenticated and authorized using Azure Active Directory (Azure AD) OAuth 2.0 bearer tokens. Developers must adhere to the principle of least privilege, configuring service principals or user accounts with specific Azure Role-Based Access Control (RBAC) permissions, such as "Reader" for querying history or "Contributor" for updates, scoped precisely to the target Azure ML workspace and subscription. Secrets management is critical; tokens and credentials should never be stored in client-side code but should be injected securely via environment variables or a managed identity service. Furthermore, implementing proper request throttling and caching strategies within the MCP server is advisable to prevent excessive load on the Azure services and to ensure responsive performance for the AI assistant. This architecture guarantees strict process boundary isolation: all sensitive authorization headers and secret tokens remain sandboxed inside the client runtime, never leaking into language model context windows or external logging endpoints.

Authentication TypePublic (No Auth)Injected via local client environment
Tools & Routes Mapped10 OperationsConforms to JSON-RPC 2.0 specs
Specification OriginOpenAPI v2019-08-01auto schema validation
Documentation & Schema Quality Index
34
★ Grade C - Baseline Coverage
Automated Audit Checklist
Automated schema extraction & validation (+12 pts)
Extensive tool mapping (10 endpoints defined) (+20 pts)
Zero-configuration public API instant execution (+20 pts)
Full JSON-RPC 2.0 Model Context Protocol specification conformity (+15 pts)
Standardized endpoint summary coverage (+8 pts)

Hosted Remote Configuration URL

MCP Configuration File

Provide this hosted URL in any client that supports remote MCP schema auto-loading.

https://mcpbridge.org/config/azure-com-machinelearningservices-runhistory.json

2. AI Assistant Use Cases & Practical Workflows

Tailored for Developer Tools

Real-world execution scenarios demonstrating how LLM agents (Claude 3.7, GPT-4o, Cursor Agent) invoke Run History APIs tools to automate developer workflows.

1. CI/CD Build Failure & Telemetry Diagnostics

CI/CD Remediation

Instantly diagnose failing CI/CD builds or deployment pipelines by streaming build logs, isolating failure root causes, and drafting targeted code fixes.

Example Natural Language Prompt:

"Fetch recent pipeline run logs from Run History APIs. Isolate the failed step, summarize the exact compiler or test failure error, and propose a pull request fix in Cursor."

Mapped: /history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experimentids/{experimentId}

2. Cloud Resource Auditing & Cost Optimization

Cloud FinOps

Scan active compute clusters, storage buckets, and networking configurations to identify unattached volumes or idle oversized instances.

Example Natural Language Prompt:

"Query active cloud infrastructure resources in Run History APIs. Identify unattached storage volumes, idle compute instances, and summarize estimated monthly cost savings."

Mapped: /history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experimentids/{experimentId}

3. Zero-Downtime Rollout & Canary Health Verification

Deployment Ops

Orchestrate progressive deployments, monitor error rate thresholds on newly deployed pods, and execute automated rollbacks if error budgets breach.

Example Natural Language Prompt:

"Check the active deployment rollout status in Run History APIs. Monitor canary error rate percentages for 5 minutes and report whether the deployment is safe to promote to 100% traffic."

Autonomous Agent Loop

4. Infrastructure as Code (IaC) Drift Detection

IaC Governance

Compare live deployed resource state against Terraform or CloudFormation definitions to spot unauthorized manual changes.

Example Natural Language Prompt:

"Scan live configurations via Run History APIs and compare against our repository IaC definitions. Highlight any configuration drift in security groups or network routes."

Autonomous Agent Loop

End-to-End Multi-Step Agent Execution Lifecycle

When an engineer submits a task to Claude Desktop or Cursor, the LLM executes an autonomous 4-phase Model Context Protocol loop:

Phase 1

Schema Introspection

Handshake lists all 10 tools and builds argument validators.

Phase 2

Argument Synthesis

Model extracts parameters from prompt and validates types against OpenAPI rules.

Phase 3

Stdio Execution

Bridge invokes live API with injected local credentials and captures raw HTTP response.

Phase 4

Output Remediation

LLM parses JSON results, handles status codes, and presents synthesized answers.

3. Multi-Client Installation Matrix & Setup Guides

Select your AI assistant below to view exact configuration file paths, JSON installation snippets, and launch commands.

Claude Desktop

claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "azure-com-machinelearningservices-runhistory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-openapi",
        "https://api.apis.guru/v2/specs/azure.com/machinelearningservices-runHistory/2019-08-01/swagger.json"
      ],
      "env": {
        "RUN_HISTORY_APIS_API_KEY": "your_run_history_apis_api_key"
      }
    }
  }
}
Deep link

Cursor IDE

.cursor/mcp.json

Open Cursor Settings → Features → MCP Servers, or create .cursor/mcp.json in your project root.

{
  "mcpServers": {
    "azure-com-machinelearningservices-runhistory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-openapi",
        "https://api.apis.guru/v2/specs/azure.com/machinelearningservices-runHistory/2019-08-01/swagger.json"
      ],
      "env": {
        "RUN_HISTORY_APIS_API_KEY": "your_run_history_apis_api_key"
      }
    }
  }
}

Saves as .cursor/mcp.json in the download. Move it to your project root.

Deep link install →

VS Code / Cline Extension

cline_mcp_settings.json

Paste into your Cline extension MCP configuration or Roo Code host settings.

{
  "mcpServers": {
    "azure-com-machinelearningservices-runhistory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-openapi",
        "https://api.apis.guru/v2/specs/azure.com/machinelearningservices-runHistory/2019-08-01/swagger.json"
      ],
      "env": {
        "RUN_HISTORY_APIS_API_KEY": "your_run_history_apis_api_key"
      }
    }
  }
}

Zed Editor & Docker CLI

Zed / Docker

Docker container execution command:

docker run -i --rm -e RUN_HISTORY_APIS_API_KEY="YOUR_SECRET_VALUE" node:20-alpine npx -y @modelcontextprotocol/server-openapi https://api.apis.guru/v2/specs/azure.com/machinelearningservices-runHistory/2019-08-01/swagger.json

Zed settings context servers JSON:

{
  "context_servers": {
    "azure-com-machinelearningservices-runhistory": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-openapi",
          "https://api.apis.guru/v2/specs/azure.com/machinelearningservices-runHistory/2019-08-01/swagger.json"
        ],
        "env": {
          "RUN_HISTORY_APIS_API_KEY": "your_run_history_apis_api_key"
        }
      }
    }
  }
}

Programmatic SDK Integration (TypeScript / Python)

Initialize the Run History APIs MCP client directly in your backend codebase.

import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";

// Initialize Run History APIs MCP client transport over stdio
const transport = new StdioClientTransport({
  command: "npx",
  args: ["-y","@modelcontextprotocol/server-openapi","https://api.apis.guru/v2/specs/azure.com/machinelearningservices-runHistory/2019-08-01/swagger.json"],
  env: { RUN_HISTORY_APIS_API_KEY: process.env.RUN_HISTORY_APIS_API_KEY || "YOUR_SECRET_KEY" }
});

const client = new Client(
  { name: "azure-com-machinelearningservices-runhistory-client", version: "1.0.0" },
  { capabilities: { tools: {}, resources: {}, prompts: {} } }
);

async function connectAndRun() {
  await client.connect(transport);
  const tools = await client.listTools();
  console.log("Connected to Run History APIs MCP Server.");
  console.log("Discovered 10 mapped tools:", tools);
}

connectAndRun().catch(console.error);

Raw Stdio Schema Definition

schema.json

For standalone CLI wrappers, background daemon daemons, or custom script integrations:

{
  "mcpServers": {
    "azure-com-machinelearningservices-runhistory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-openapi",
        "https://api.apis.guru/v2/specs/azure.com/machinelearningservices-runHistory/2019-08-01/swagger.json"
      ],
      "env": {
        "RUN_HISTORY_APIS_API_KEY": "your_run_history_apis_api_key"
      }
    }
  }
}

4. Security, Authentication & Credential Management

Safely configure authentication tokens, isolate execution environments, and implement enterprise security best practices.

Required Environment Keys Reference

Variable NameRequiredTypeDefaultPurpose & Guidance
RUN_HISTORY_APIS_API_KEYREQUIREDSecret Key / TokenNone (Set in env)your_run_history_apis_api_key

Zero-Downtime Token Rotation Protocol

  1. Generate Secondary Key: Create a new secret API token with identical scopes in your Run History APIs developer portal.
  2. Update Client Configuration: Insert the new token inside the env block of your MCP client JSON config.
  3. Validate Connection: Issue a test query in Claude or Cursor to ensure handshake and tool calls succeed.
  4. Revoke Stale Token: Decommission the legacy key on the vendor portal to prevent unauthorized access.

Least-Privilege & Sandboxing Rules

  • Read-Only Token Scoping: Whenever your workflow only requires querying data, provision read-only credentials to prevent accidental mutations.
  • Local Process Isolation: Stdio transports run in isolated local subprocesses; secret credentials are never sent across the internet to MCP Bridge servers.
  • Prompt Injection Defense: AI model responses are sandboxed; verify generated destructive arguments before confirming execution in agent mode.

Enterprise Security Checklist (Mandatory Practices)

  • Never commit claude_desktop_config.json or .cursor/mcp.json containing raw secrets into public GitHub repositories.
  • Add .cursor/mcp.json and .env.local to your project's .gitignore file.
  • Always enforce TLS/HTTPS encryption on outbound network requests initiated by the server process.

5. Tool Parameter Schemas & Natural Language Execution

Mapped OpenAPI operations converted into discrete Model Context Protocol tools with strict JSON-RPC payload validators.

10 Total Tools Mapped
GET/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experimentids/{experimentId}
tools/call: azure-com-machinelearningservices-runhistory_get_history_v1_0_subscriptions__subscriptionId__resourceGroups__resourceGroupName__providers_Microsoft_MachineLearningServices_workspaces__workspaceName__experimentids__experimentId

Get details of an Experiment.

Zero required query/path parameters for this endpoint.
JSON-RPC 2.0 Request Payload
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "azure-com-machinelearningservices-runhistory_get_history_v1_0_subscriptions__subscriptionId__resourceGroups__resourceGroupName__providers_Microsoft_MachineLearningServices_workspaces__workspaceName__experimentids__experimentId",
    "arguments": {}
  }
}
Natural Language Prompt

"Use Run History APIs to execute Get details of an Experiment. and output the formatted result."

PATCH/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experimentids/{experimentId}
tools/call: azure-com-machinelearningservices-runhistory_patch_history_v1_0_subscriptions__subscriptionId__resourceGroups__resourceGroupName__providers_Microsoft_MachineLearningServices_workspaces__workspaceName__experimentids__experimentId

Update details of an Experiment.

Zero required query/path parameters for this endpoint.
JSON-RPC 2.0 Request Payload
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "azure-com-machinelearningservices-runhistory_patch_history_v1_0_subscriptions__subscriptionId__resourceGroups__resourceGroupName__providers_Microsoft_MachineLearningServices_workspaces__workspaceName__experimentids__experimentId",
    "arguments": {}
  }
}
Natural Language Prompt

"Use Run History APIs to execute Update details of an Experiment. and output the formatted result."

DELETE/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experimentids/{experimentId}/tags
tools/call: azure-com-machinelearningservices-runhistory_delete_history_v1_0_subscriptions__subscriptionId__resourceGroups__resourceGroupName__providers_Microsoft_MachineLearningServices_workspaces__workspaceName__experimentids__experimentId__tags

Delete list of Tags in an Experiment.

Zero required query/path parameters for this endpoint.
JSON-RPC 2.0 Request Payload
{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "azure-com-machinelearningservices-runhistory_delete_history_v1_0_subscriptions__subscriptionId__resourceGroups__resourceGroupName__providers_Microsoft_MachineLearningServices_workspaces__workspaceName__experimentids__experimentId__tags",
    "arguments": {}
  }
}
Natural Language Prompt

"Use Run History APIs to execute Delete list of Tags in an Experiment. and output the formatted result."

GET/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}
tools/call: azure-com-machinelearningservices-runhistory_get_history_v1_0_subscriptions__subscriptionId__resourceGroups__resourceGroupName__providers_Microsoft_MachineLearningServices_workspaces__workspaceName__experiments__experimentName

Get details of an Experiment.

Zero required query/path parameters for this endpoint.
JSON-RPC 2.0 Request Payload
{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "tools/call",
  "params": {
    "name": "azure-com-machinelearningservices-runhistory_get_history_v1_0_subscriptions__subscriptionId__resourceGroups__resourceGroupName__providers_Microsoft_MachineLearningServices_workspaces__workspaceName__experiments__experimentName",
    "arguments": {}
  }
}
Natural Language Prompt

"Use Run History APIs to execute Get details of an Experiment. and output the formatted result."

POST/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}
tools/call: azure-com-machinelearningservices-runhistory_post_history_v1_0_subscriptions__subscriptionId__resourceGroups__resourceGroupName__providers_Microsoft_MachineLearningServices_workspaces__workspaceName__experiments__experimentName

Create an Experiment.

Zero required query/path parameters for this endpoint.
JSON-RPC 2.0 Request Payload
{
  "jsonrpc": "2.0",
  "id": 5,
  "method": "tools/call",
  "params": {
    "name": "azure-com-machinelearningservices-runhistory_post_history_v1_0_subscriptions__subscriptionId__resourceGroups__resourceGroupName__providers_Microsoft_MachineLearningServices_workspaces__workspaceName__experiments__experimentName",
    "arguments": {}
  }
}
Natural Language Prompt

"Use Run History APIs to execute Create an Experiment. and output the formatted result."

POST/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/batch/events
tools/call: azure-com-machinelearningservices-runhistory_post_history_v1_0_subscriptions__subscriptionId__resourceGroups__resourceGroupName__providers_Microsoft_MachineLearningServices_workspaces__workspaceName__experiments__experimentName__batch_events

Batch post event data.

Zero required query/path parameters for this endpoint.
JSON-RPC 2.0 Request Payload
{
  "jsonrpc": "2.0",
  "id": 6,
  "method": "tools/call",
  "params": {
    "name": "azure-com-machinelearningservices-runhistory_post_history_v1_0_subscriptions__subscriptionId__resourceGroups__resourceGroupName__providers_Microsoft_MachineLearningServices_workspaces__workspaceName__experiments__experimentName__batch_events",
    "arguments": {}
  }
}
Natural Language Prompt

"Use Run History APIs to execute Batch post event data. and output the formatted result."

PATCH/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/batch/runs
tools/call: azure-com-machinelearningservices-runhistory_patch_history_v1_0_subscriptions__subscriptionId__resourceGroups__resourceGroupName__providers_Microsoft_MachineLearningServices_workspaces__workspaceName__experiments__experimentName__batch_runs

Add or Modify a batch of Runs.

Zero required query/path parameters for this endpoint.
JSON-RPC 2.0 Request Payload
{
  "jsonrpc": "2.0",
  "id": 7,
  "method": "tools/call",
  "params": {
    "name": "azure-com-machinelearningservices-runhistory_patch_history_v1_0_subscriptions__subscriptionId__resourceGroups__resourceGroupName__providers_Microsoft_MachineLearningServices_workspaces__workspaceName__experiments__experimentName__batch_runs",
    "arguments": {}
  }
}
Natural Language Prompt

"Use Run History APIs to execute Add or Modify a batch of Runs. and output the formatted result."

GET/history/v1.0/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/experiments/{experimentName}/metrics/{metricId}
tools/call: azure-com-machinelearningservices-runhistory_get_history_v1_0_subscriptions__subscriptionId__resourceGroups__resourceGroupName__providers_Microsoft_MachineLearningServices_workspaces__workspaceName__experiments__experimentName__metrics__metricId

Get Metric details.

Zero required query/path parameters for this endpoint.
JSON-RPC 2.0 Request Payload
{
  "jsonrpc": "2.0",
  "id": 8,
  "method": "tools/call",
  "params": {
    "name": "azure-com-machinelearningservices-runhistory_get_history_v1_0_subscriptions__subscriptionId__resourceGroups__resourceGroupName__providers_Microsoft_MachineLearningServices_workspaces__workspaceName__experiments__experimentName__metrics__metricId",
    "arguments": {}
  }
}
Natural Language Prompt

"Use Run History APIs to execute Get Metric details. and output the formatted result."

6. Interactive Troubleshooting & FAQ Accordion

Diagnose and resolve common JSON-RPC protocol error codes, connection disconnects, and schema refresh issues.

A 401 Unauthorized response indicates that the upstream Run History APIs API rejected the authentication credential supplied in your MCP client's environment configuration. To resolve this: (1) Verify that your secret token is defined inside the "env" block of claude_desktop_config.json or .cursor/mcp.json rather than hardcoded in the command string. (2) Check whether Run History APIs requires a prefix such as "Bearer <token>" in the authorization header. (3) Confirm that your API key has not expired and has been granted sufficient least-privilege scopes on the Run History APIs developer dashboard.

If your MCP client fails to initialize tools for Run History APIs: (1) Test the bridge launcher command ("npx -y @modelcontextprotocol/server-openapi https://api.apis.guru/v2/specs/azure.com/machinelearningservices-runHistory/2019-08-01/swagger.json") directly inside your terminal or shell to inspect stdout/stderr diagnostic traces. (2) Verify network connectivity to the schema source (https://api.apis.guru/v2/specs/azure.com/machinelearningservices-runHistory/2019-08-01/swagger.json). (3) Ensure Node.js (v18+) is installed and accessible in your system PATH. (4) For authenticated APIs, confirm credentials are configured in your client's "env" mapping rather than command arguments.

Similar Developer Tools Configurations

Explore related API bridges with ready-to-use Model Context Protocol schemas.

GitHub API

Developer Tools

Access GitHub repositories, issues, pull requests, and more. Integrate GitHub workflows directly into your AI agent.

https://mcpbridge.org/config/github.json

GitLab API

Developer Tools

Manage repositories, CI/CD pipelines, and merge requests through your AI agent.

https://mcpbridge.org/config/gitlab.json

Box Platform API

Developer Tools

The Box Platform API, provided by Box (box.com), is a robust and comprehensive RESTful service that enables deep integration with the Box cloud content management ecosystem. It serves as the programmatic backbone for enterprises and developers seeking to build custom applications and workflows that interact with content stored securely in Box. Its core capabilities extend far beyond basic file operations, encompassing a full spectrum of content lifecycle management. Developers can programmatically create, upload, download, search, and manage files and folders, but the API's true power lies in its enterprise-grade features. These include advanced collaboration management through invitations and permissions, granular user and group administration within an enterprise directory, and sophisticated security and compliance controls. Specific endpoint groups for managing collaboration whitelists and exempt targets allow for precise governance over external sharing policies, ensuring that content is only shared with approved domains. Furthermore, the API facilitates complex legal and compliance use cases, such as placing items on legal hold or applying retention policies, making it an indispensable tool for regulated industries and large organizations. Exposing this API as tools via the Model Context Protocol (MCP) for AI coding assistants transforms it from a static integration point into a dynamic, conversational development partner. The value lies in delegating repetitive, structured, and context-aware platform operations to the AI agent. Instead of manually writing scripts or navigating multiple dashboard clicks, a developer can instruct the AI to perform precise actions using natural language, which the AI translates into the correct API calls. For instance, an AI assistant equipped with these MCP tools can intelligently query the `GET /collaborations` endpoint to analyze the permission landscape for a sensitive project folder, or it can generate the necessary configuration to programmatically whitelist a new partner domain using `POST /collaboration_whitelist_entries`. This drastically accelerates development and operational workflows, reduces the cognitive load on developers, and minimizes the risk of manual errors in scripting repetitive tasks, effectively embedding the Box Platform's capabilities directly into the developer's AI-augmented workflow. Within this MCP-enabled environment, a developer can instruct the AI agent to perform a variety of powerful, dynamic tasks. For example, a natural language command like, "Set up the standard folder structure for our new 'Project Phoenix' initiative under the Corporate Engineering directory, then add the legal team as collaborators with viewer-only permissions," can be orchestrated by the AI. It would sequentially create the folder hierarchy via the file management endpoints, search for the existing 'Legal' group using the user management APIs, and finally apply the correct permissions using the collaborations endpoint. Another practical workflow involves security auditing; a developer could ask, "List all external collaborations on files within the '2024 Financial Reports' folder and check if any are outside our approved vendor list." The AI agent would query the relevant endpoints, cross-reference the results against the collaboration whitelist entries via `GET /collaboration_whitelist_entries`, and provide a concise report or even take corrective action by revoking specific collaborations if instructed. Critical attention must be paid to authentication and security when implementing this API integration. While the described endpoints use a 'None' authentication method for the initial `GET /authorize` step (which is part of the OAuth 2.0 flow initiation), all subsequent data operations require a valid OAuth 2.0 access token. The principle of least privilege is paramount; developers must configure their applications with the narrowest OAuth scopes necessary for their specific use case, avoiding broad `read_write_all` scopes when `read_only` or scoped write access suffices. All tokens must be stored securely, and refresh tokens should be handled with care. For enterprise deployments, administrators should enable Box's IP whitelisting for API access and mandate two-factor authentication for associated accounts. Furthermore, developers must implement rigorous error handling and leverage Box's comprehensive webhook system for event-driven architectures, rather than relying solely on polling. Finally, all API interactions should be logged for audit trails, especially when managing compliance-related features like legal holds or retention policies, to ensure accountability and support for regulatory requirements.

https://mcpbridge.org/config/box-com.json

Asana

Developer Tools

This API serves as the programmatic backbone for the Asana work management platform, provided by Asana, Inc. It enables developers to interact programmatically with one of the world's leading enterprise collaboration and productivity suites. The core capabilities of this interface center around the CRUD (Create, Read, Update, Delete) operations for fundamental Asana objects. Specifically, the provided endpoints grant control over project attachments—allowing for the uploading, retrieval, and management of files associated with tasks and projects—and custom fields, which are pivotal for creating structured, data-rich workflows. These custom fields allow organizations to define unique data types (like dropdown menus, text fields, or dates) to standardize information capture across projects, moving beyond basic task lists to true operational tracking. Typical use cases span from enterprise project management offices (PMOs) needing to programmatically generate status reports and audit attachments, to development teams automating the creation of bug-tracking projects with predefined custom fields for severity and status, to operational leaders building dashboards that aggregate and analyze custom field data for resource allocation insights. When exposed as tools via the Model Context Protocol (MCP) to an AI coding assistant like Claude Desktop or Cursor, this API transforms from a static set of endpoints into a dynamic, conversational work orchestration layer. The value proposition is profound: it bridges the gap between natural language intent and structured work management execution. An AI assistant equipped with these MCP tools gains the ability to understand and manipulate the very fabric of a team's operational workflow. Instead of a developer manually writing scripts to query project attachments for an audit or updating custom fields to trigger a workflow state change, they can issue plain English commands. This integration enables the AI to act as a highly specialized "project operations agent," capable of reasoning about work data, making updates based on complex criteria, and automating routine administrative tasks that typically consume valuable engineering or management time. The context window allows the AI to maintain awareness of recent interactions, making iterative tasks like "find all attachments from last week and summarize them" or "change the 'Priority' field to 'High' for all tasks assigned to me due this week" seamless and efficient. Practical workflow examples highlight the powerful automation possibilities. A developer could instruct their AI agent: "Query all attachments on the 'Q3 Launch' project and generate a CSV list of filenames and their parent tasks for documentation." The AI would leverage the GET /attachments endpoint (with appropriate project filtering) to compile this report instantly. For a more complex update: "For every task in the 'Backlog' project that has the custom field 'Estimated Hours' set to more than 10, create a subtask titled 'Breakdown Required' and update the 'Status' custom field to 'Needs Refinement'." Here, the AI would orchestrate a sequence: first querying tasks using the custom fields API (once a GET for custom fields is available or via linked object data), then using the POST /batch endpoint to efficiently create multiple subtasks and update multiple custom fields in a single, optimized API call. Furthermore, an agent could be tasked with "Set up a new bug report template by creating a 'Bug' project and adding the custom fields 'Bug ID' (text), 'Severity' (dropdown), and 'Component' (dropdown) with the appropriate options," automating a multi-step project setup process that would otherwise require numerous manual clicks or complex scripting. Despite the current configuration indicating no authentication requirement for this specific API definition, a rigorous approach to security is non-negotiable in any real-world implementation. Developers must treat this API as a conduit to their organization's critical work data. All interaction must be authenticated using Asana's standard OAuth 2.0 flow or Personal Access Tokens, ensuring every action is attributable and authorized. The principle of least privilege is essential: create and use API tokens with the narrowest possible scope. For instance, if a tool's sole purpose is to read attachments, its token should not have permission to delete them or modify project structures. When deploying an MCP server, it is critical to securely manage and store credentials, avoiding hardcoding and utilizing environment variables or secret management services. Network security should enforce HTTPS for all API calls, and developers should implement robust error handling and logging to monitor for unusual activity without exposing sensitive data. Rate limiting awareness is also key to building resilient applications that respect Asana's API service limits.

https://mcpbridge.org/config/asana-com.json