MCP Landscape Artifact

March 23, 2026 ยท View on GitHub

This repository accompanies the paper "Model Context Protocol (MCP): Landscape, Security Threats, and Future Research Directions" (https://dl.acm.org/doi/10.1145/3796519).

It contains two artifact components used in the study:

  1. Landscape_data/: structured MCP ecosystem data collected from public sources.
  2. Examples/: sandboxed proof-of-concept (POC) servers demonstrating representative MCP security risks.

The current snapshot reflects the repository contents available here, rather than an idealized artifact layout.

Repository Layout

PathDescription
Landscape_data/mcp_adoption.csvEcosystem adoption table covering MCP-related products, platforms, and integrations.
Landscape_data/mcp_servers_list.csvMCP server collections / registries with authorship, deployment mode, URL, and notes.
Examples/Runnable FastMCP security POCs and their bilingual documentation.
Examples/README_EN.mdEnglish README focused on the security POCs.
Examples/README_CN.mdChinese README focused on the security POCs.
README.mdTop-level artifact description.

Landscape Data

The Landscape_data/ directory contains two CSV tables compiled through manual review and verification of publicly available MCP ecosystem sources as of September 2025.

mcp_adoption.csv

This file provides a high-level summary of how major AI frameworks, developer tools, IDEs/editors, and cloud or service platforms have adopted and integrated MCP.

  • Current columns: Category, Company/Product, Key Features or Use Cases
  • Current snapshot size: 27 data rows

Representative categories covered in the table include:

CategoryExamplesRepresentative Highlights
AI Models & FrameworksAnthropic (Claude), OpenAI, Google DeepMind, Baidu Maps, Blender MCPStandardized MCP tool invocation integrated into model frameworks and creative suites.
Developer ToolsReplit, MS Copilot Studio, Sourcegraph Cody, Codeium, Cursor, ClineUnified integration layers for tool management across IDE ecosystems.
IDEs/EditorsZed, JetBrains, Theia, Emacs MCPIn-IDE MCP interactions for contextual tool execution.
Cloud PlatformsCloudflare, Tencent, Alibaba Cloud, Huawei, Stripe, BlockRemote MCP hosting and AI service orchestration.
Web Automation & DataApify MCP Tester, Baidu Create Conf.Expanding tool ecosystem supporting AI-native APIs.

mcp_servers_list.csv

This file lists major MCP server aggregators and registries tracked in the study, including authorship, hosting mode, approximate server count, URL, and notes.

  • Current columns: Collection, Author, Mode, # Servers, URL, Notes
  • Current snapshot size: 26 data rows

Representative entries include:

CollectionAuthorMode# ServersURL
MCPWorldBaiduWebsite26,404https://www.mcpworld.com
Glamaglama.aiWebsite9,415https://glama.ai/mcp/servers
SmitheryHenry MaoWebsite6,888https://smithery.ai
PulseMCPTadas Antanavicius et al.Website6,072https://www.pulsemcp.com
Official Anthropic MCP RegistryAnthropicGitHub Repo1,204https://github.com/modelcontextprotocol/servers

These tables are intended as artifact data for the paper rather than as a live registry. Counts and ecosystem coverage may drift over time.

Security POC Examples

The scripts in Examples/ are minimal, intentionally insecure POCs for common MCP risk patterns. They can run as standalone FastMCP servers, but they preserve unsafe behavior for demonstration and education rather than production use.

POC Overview

FileTopic
access.pyOver-privileged access / arbitrary command execution
command_injection.pyCommand injection through parameter smuggling
indirect_prompt_injection.pyIndirect prompt injection
namespace.pyNamespace confusion / spoofed server identity
preference_manipulation.pyPreference manipulation through metadata
rug_pull.pyBenign on first load, malicious after state change
tool_chain.pyTool chaining that amplifies attack surface
tool_poisoning.pyTool description poisoning

Requirements

  • Python 3.10+
  • mcp
  • requests

Install dependencies if needed:

python3 -m pip install mcp requests

Quick Start

The POCs in Examples/ use stdio by default.

Run a script directly:

cd /Users/ashley/MCP/test/MCP_Landscape/Examples
python3 tool_chain.py

Or use the MCP CLI:

mcp run tool_chain.py

To inspect a server interactively:

mcp dev tool_chain.py

namespace.py supports trusted and spoofed variants:

MCP_NAMESPACE_VARIANT=trusted python3 namespace.py
MCP_NAMESPACE_VARIANT=spoofed python3 namespace.py

Example Client Config

{
  "mcpServers": {
    "tool-chain-demo": {
      "command": "python3",
      "args": [
        "/Users/xxx/MCP_Landscape/Examples/tool_chain.py"
      ]
    }
  }
}

Spoofed namespace.py example:

{
  "mcpServers": {
    "mcp-github": {
      "command": "python3",
      "args": [
        "/Users/xxx/MCP_Landscape/Examples/namespace.py"
      ],
      "env": {
        "MCP_NAMESPACE_VARIANT": "spoofed"
      }
    }
  }
}