Skip to main content
Glama

adf-mcp-server

面向 Azure Data Factory 监控和根因分析的只读 MCP(Model Context Protocol)服务器,为从 VS Code / Claude Code 使用而构建。

状态:第 1 步(骨架 + 健康检查)。 目前还没有 Azure 连接——那将在第 2 步(身份验证)和第 3 步(ADF 工具)中添加。

环境要求

  • Python 3.11+

Related MCP server: azure-adf-mcp

本地设置

cd adf-mcp-server
python -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
cp .env.example .env

.env 目前只需要服务器设置块(ADF_MCP_*)。AZURE_* 行是第 2 步的占位符——过现在先把它们注释掉。

运行服务器

python -m adf_mcp.server
# or, after `pip install -e .`:
adf-mcp-server

服务器通过 stdio 通信——直接在终端中运行它会看起来像挂起;这是预期行为,因为它正在等待 MCP 客户端(VS Code 扩展、Claude Code、mcp dev 等)通过 stdin/stdout 连接。

在 VS Code 中配置

将支持 MCP 的扩展的服务器配置指向:

{
  "command": "python",
  "args": ["-m", "adf_mcp.server"],
  "cwd": "/absolute/path/to/adf-mcp-server"
}

连接后,调用 health_check 工具——它应该返回 {"status": "ok", ...},完全不接触 Azure。

运行测试

pip install -e ".[dev]" pytest-asyncio
pytest -v

项目结构

参见 src/adf_mcp/——server.py(MCP 传输)、config.py(设置)、logging_config.py(结构化日志)。从第 3 步开始,领域逻辑和 Azure 连接会添加到 src/adf_mcp/domain/ 下。

疑难解答

  • 客户端立即显示“server disconnected”:先单独确认 python -m adf_mcp.server 能否正常运行——如果在客户端连接前发生启动异常,进程会直接被杀死。

  • 客户端无法解析响应 / 输出乱码:有某些内容写入了 stdout,而不是 MCP 协议本身(例如多出的 print())。这个项目中的所有日志都写入 stderr,正是出于这个原因。

Available Tools

1 tool
health_checkA

Report that the MCP server is up and configuration loaded correctly.

Useful as a first call from any MCP client (VS Code, Claude Code) to confirm the server started, before any Azure-dependent tools exist.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It clearly indicates a read-only status check (no mutation implied) and adds a timing context ('before any Azure-dependent tools exist') that is useful. It doesn't explicitly state 'no side effects' or failure behavior, but the output schema likely covers those details. The added context is valuable and goes beyond the tool's name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: two short sentences. The first front-loads the core purpose, and the second provides usage context. No filler or repetition, every sentence earned its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with an output schema present, the description fully covers purpose and usage. It tells the agent exactly when to call it and why, and the output schema handles return details. Nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema is trivially fully described (empty object). Per the baseline rule for 0 params, a score of 4 is appropriate; the description needs no parameter information since none exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Report') and a clear resource ('MCP server is up and configuration loaded correctly'). It is obviously distinct from the sibling Azure tools (factories, pipelines, triggers), leaving no ambiguity about what this tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs when to use: 'first call from any MCP client (VS Code, Claude Code) to confirm the server started, before any Azure-dependent tools exist.' This gives clear context and implicitly advises against using it after other tools, making its role in the workflow obvious.

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.

  1. 1 tool updatev0.1.0
    • First observedhealth_check

TDQS

A4/5.0

Scored across 1 tool

Disambiguation5/5

There is only one tool, so no agent could confuse it with another. The health_check tool has a clear and unique purpose as a readiness probe.

Naming Consistency4/5

The single tool name is clean and uses standard snake_case; however, with only one tool, no meaningful set-wide naming convention is established.

Tool Count1/5

A server named adf-mcp-server exposing only a health_check tool is far below the minimum viable tool surface. This is a single trivial tool, which matches the lowest end of the scale.

Completeness1/5

The server gives agents no way to interact with the Azure Data Factory domain at all. A health check alone is severely incomplete and leaves every meaningful user workflow unavailable.

Maintenance

ActivityStale
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides standardized MCP interfaces for Azure services including Cosmos DB operations (container and item management) and AI Search operations (index management), deployed through Azure API Management gateway.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that exposes Azure Data Factory operations as tools any LLM can call — trigger pipelines, monitor runs, inspect datasets, and get factory health summaries through natural language.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A read-only MCP server that reports BI pipeline readiness, blockers, and the next allowed action for governed Power BI workflows. It never writes files, executes warehouse work, or grants human approvals.
    6
    10 npm
    2
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    A read-only MCP server that exposes Azure incident-investigation tools for a single App Service and its Application Insights telemetry, enabling an agent to correlate deployment history, platform metrics, and transaction traces.
    MIT