模拟 MCP 服务器

这是一个模拟 Datadog、GitHub、New Relic、AWS、Notion、FluxCD、ServiceNow、Confluence、Backstage 和 Figma 等工具的 MCP 服务器,为 Port 智能工程平台提供演示、集成测试与本地开发所需的模拟服务。

  • by matarpeles
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 matarpeles/mock-mcp-server

使用说明

Mock MCP Server for Port Demos

A mock MCP server that simulates Datadog, GitHub, NewRelic, AWS, Notion, FluxCD, ServiceNow, Confluence, and Backstage tools for Port's Agentic Engineering Platform demos.

Endpoints

Vendor URL Path Description
Datadog /datadog/mcp Logs, metrics, APM, monitors
GitHub /github/mcp PRs, commits, code search, workflows
NewRelic /newrelic/mcp Entities, NRQL, error groups, alerts
AWS /aws/mcp CloudWatch, CloudTrail, EC2, Lambda
Notion /notion/mcp Pages, databases, search
FluxCD /fluxcd/mcp Flux resources, K8s logs, reconciliation
ServiceNow /servicenow/mcp Incidents, changes, CMDB, catalog, approvals
Confluence /confluence/mcp Wiki pages, runbooks, spaces, search
Backstage /backstage/mcp Catalog entities, relations, overlays, search
Figma /figma/mcp Design context, metadata, screenshots, variables, comments

Datadog Tools

Names mirror the official Datadog MCP server. The first eight tools are older mock tools and keep their original names.

Tool Type Description
search_datadog_logs, get_datadog_metrics, get_datadog_service_dependencies, search_datadog_incidents, get_datadog_monitors, list_datadog_dashboards, list_datadog_traces, list_datadog_hosts read Logs, metrics, dependencies, incidents, monitors, dashboards, traces, hosts
search_datadog_slos read SLOs with error budget and burn rate
search_datadog_events read Alerts, deployments, status changes
create_datadog_monitor create Create a draft monitor
create_datadog_notebook create Create a notebook
delete_datadog_notebook delete Soft-delete a notebook (30-day recovery)
delete_datadog_dashboard delete Permanently delete a dashboard

GitHub Tools

Names follow the official github-mcp-server.

Tool Type Description
list_pull_requests, get_file_content, list_commits, search_code, search_issues, get_repository, list_branches, get_workflow_runs, list_dependabot_alerts read Existing read tools
get_pull_request read PR details with reviews, checks, mergeability
get_job_logs read Workflow job logs, optionally failed jobs only
create_issue create Create an issue
create_pull_request create Open a pull request
merge_pull_request modify Merge, squash, or rebase a PR
rerun_workflow_run action Re-run a workflow run or its failed jobs

New Relic Tools

Names mirror the official New Relic MCP server, which is read-only. The three write tools are Port extensions in the same naming style.

Tool Type Description
get_newrelic_entity, execute_nrql_query, list_newrelic_error_groups, list_newrelic_alerts, get_newrelic_dashboard, list_newrelic_services read Existing read tools
list_alert_policies read Alert policies for an account
list_change_events read Deployments and changes for an entity
analyze_deployment_impact read Golden signals before vs after a deploy
create_change_event create (extension) Record a deployment marker
create_alert_condition create (extension) Create an NRQL alert condition
delete_alert_condition delete (extension) Delete an alert condition

AWS Tools

Tool Type Description
get_cloudwatch_metrics, get_cloudwatch_logs, get_cloudtrail_events, describe_ec2_instances, list_lambda_functions, describe_cloudwatch_alarms read Existing read tools
describe_rds_instances read RDS instances and status
get_cost_and_usage read Cost Explorer spend by service/tag
reboot_ec2_instances action Reboot EC2 instances
terminate_ec2_instances delete Terminate EC2 instances
invoke_lambda_function action Invoke a Lambda function
update_ecs_service modify Change desired count or force a deployment

FluxCD Tools

The FluxCD mock mirrors the real Flux Operator MCP Server:

Tool Description
get_flux_instance Flux installation status, version, components
get_kubernetes_resources HelmRelease, Kustomization, GitRepository status
get_kubernetes_logs Pod container logs with timestamps
get_kubernetes_metrics CPU/Memory usage for pods
reconcile_flux_helmrelease Trigger HelmRelease reconciliation
reconcile_flux_kustomization Trigger Kustomization reconciliation
reconcile_flux_source Trigger source reconciliation
suspend_flux_reconciliation Suspend Flux resource
resume_flux_reconciliation Resume Flux resource
search_flux_docs Search Flux documentation

Figma Tools

The Figma mock mirrors the real Figma Dev Mode MCP Server (https://mcp.figma.com/mcp). Links are parsed for fileKey/nodeId the same way the real server does (https://www.figma.com/design/:fileKey/:fileName?node-id=:nodeId).

Tool Description
get_metadata Sparse XML outline of a selection's layer hierarchy
get_design_context Structured design-to-code context (React + Tailwind) for a node, aka get_code
get_screenshot Visual reference image of a selection
get_variable_defs Design tokens (color, spacing, typography) used in a selection
get_figma_comments Review comments and open questions on a file (Port extension, not part of the real Dev Mode toolset)

Port workflow pattern

Use Figma as the design context source for engineering plan generation:

  1. Register Figma MCP at https://your-app.onrender.com/figma
  2. In a Port AI agent or workflow, call get_metadata then get_design_context/get_variable_defs on the design's figma_link to pull layout, tokens, and any unresolved get_figma_comments into the engineering plan's technical approach and risks sections

Local Development

# Install dependencies
pip install -r requirements.txt

# Set API key
export ANTHROPIC_API_KEY=your_key_here

# Run server
python -m uvicorn src.main:create_app --factory --host 0.0.0.0 --port 8000

Deploy to Render

  1. Push this repo to GitHub
  2. Go to render.com → New → Web Service
  3. Connect your GitHub repo
  4. Add environment variable: ANTHROPIC_API_KEY
  5. Deploy

Your MCP URLs will be:

  • https://your-app.onrender.com/datadog/mcp
  • https://your-app.onrender.com/github/mcp
  • https://your-app.onrender.com/newrelic/mcp
  • https://your-app.onrender.com/aws/mcp
  • https://your-app.onrender.com/notion/mcp
  • https://your-app.onrender.com/fluxcd/mcp
  • https://your-app.onrender.com/servicenow/mcp
  • https://your-app.onrender.com/confluence/mcp
  • https://your-app.onrender.com/backstage/mcp
  • https://your-app.onrender.com/figma/mcp

Backstage Tools

The Backstage mock mirrors Backstage Portal MCP tools. Catalog lookups return deterministic data aligned with other demo vendors (checkout-service, payment-gateway, etc.).

Tool Description
get_entity Get a catalog entity by reference
get_catalog_entity Same as get_entity (Portal MCP naming)
list_entities List entities by kind (Component, API, System, Resource, Group)
search_entities Search catalog by keyword and optional kind filter
search Broad catalog search (Portal MCP)
get_entity_relations Get dependsOn, providesApis, owner, system relations
get_entity_overlay Get overlay metadata (maturity, on-call, compliance)
query_semantic_search_engine Semantic search across catalog and docs (LLM)

Port workflow pattern

Use Backstage as the catalog source of truth and Port as the workflow engine:

  1. Register Backstage MCP at https://your-app.onrender.com/backstage
  2. In a Port AI agent or workflow, call get_catalog_entity or search_entities to resolve service metadata, owners, and dependencies
  3. Use Port workflows (trigger_workflow_run) to orchestrate actions (incident response, scaffolding, approvals) based on Backstage catalog data

This decouples the Port IDP catalog from the agentic engineering platform — Backstage owns entity metadata; Port owns workflow execution.

Confluence Tools

Dummy read-only Confluence mock — same pattern as Notion (no real Atlassian connection, no auth):

Tool Description
search_confluence Search pages, runbooks, and wiki content
get_confluence_page Get a page by ID with content preview
list_confluence_spaces List wiki spaces
get_confluence_page_children List child pages under a parent

Demo content uses Port-style service names (checkout-service, payment-gateway) across spaces ENGINEERING, PLATFORM, and RUNBOOKS.

Register in Port as Custom Server at https://your-app.onrender.com/confluence (no /mcp suffix, no headers or OAuth credentials).

ServiceNow Tools

The ServiceNow mock provides ITSM/ITOM tools based on common community implementations:

Tool Description
search_incidents Search incidents with filters (state, priority, assigned_to)
get_incident Get incident details by number (INC0001234)
create_incident Create new incident
update_incident Update incident, add work notes/comments
resolve_incident Resolve incident with resolution code
search_change_requests Search change requests
get_change_request Get change request details (CHG0001234)
create_change_request Create normal/standard/emergency change
search_cmdb_ci Search CMDB configuration items
get_cmdb_ci Get CI details
get_ci_relationships Get CI upstream/downstream dependencies
search_knowledge_base Search KB articles
get_catalog_items List service catalog items
order_catalog_item Submit catalog request
get_user Get user by ID, email, or username
search_problems Search problem records
get_my_approvals Get pending approvals
approve_request Approve a request
reject_request Reject a request

Connect to Port

  1. Go to Port → Data Sources → MCP Servers → Custom Server
  2. Add connector with URL: https://your-app.onrender.com/fluxcd (vendor path only, no /mcp)
  3. Leave Headers and OAuth credentials empty — these are dummy mocks with no client auth
  4. Repeat for other vendors (/confluence, /notion, /backstage, /servicenow, etc.)