← Back to directory
M

MCP Interviewer

Official
Catch MCP server issues before your agents do.
GitHub source repository ↗
★ 155 Stars Category · Dev Tools Very popular
52FMRS · D

MCP Interviewer is Microsoft's open-source pre-flight tool for MCP servers, bundling constraint checking, optional functional testing, experimental LLM evaluation, and report generation into one CLI (also usable as a Python library). It helps developers find configuration and behavior issues earlier and can gate CI/CD via --fail-on-warnings. However, it executes arbitrary server commands, invokes tools during testing, and is explicitly labeled research-and-experimental with output that needs manual review, so it is not suitable for production use without isolation and scrutiny.

Reliability
9/20
Security and permissions
8/20
Maintenance
10/20
Documentation
14/20
Setup experience
11/20
Read the FMRS scoring method →

MCP Interviewer is a Python CLI tool from Microsoft that inspects an MCP server before LLM agents rely on it. It offers three layers: constraint checking (for example OpenAI's limits on tool count, name length, name pattern, and token length), optional functional testing (a specified LLM builds a test plan from the server's capabilities and executes it by calling tools, collecting statistics on observed behavior), and experimental LLM evaluation (structured and natural-language assessments of the server's features). Results are written as a Markdown report plus a companion raw-data JSON file. The tool executes the MCP server command you provide, so Microsoft recommends running servers inside containers; it is described as developed for research and experimental purposes and needs further validation before commercial or real-world use.

Setup

  1. Install as a CLI tool: pip install mcp-interviewer.
  2. Pass your MCP server command as the argument, e.g. set NPX_CONTAINER="docker run -i --rm node:lts npx" then run mcp-interviewer "$NPX_CONTAINER -y @modelcontextprotocol/server-everything".
  3. For functional testing or LLM evaluation, add --model together with --test / --judge-tools / --judge-test / --judge (these options require a model).
  4. The run generates an mcp-interview.md report and a matching mcp-interview.json data file.
  5. It can also be used as a dependency via uv add mcp-interviewer or pip install mcp-interviewer, importing mcp_interviewer in Python.

Fit and risk

Best for

  • Developers who want to catch MCP server configuration and constraint problems before deployment
  • Teams that need MCP server quality checks in CI/CD
  • Researchers willing to run the tested server isolated in a container and manually inspect the output

Not for

  • Users who want to run arbitrary server commands in production without isolation
  • Users expecting fully validated, commercially ready conclusions
  • Users unwilling to set up container isolation or an LLM model client

Required permissions

  • Executes the MCP server command you provide (run in a child process; the MCP Python SDK executes arbitrary commands on the host)
  • Calls the server's tools when functional testing (--test) is enabled
  • Reaches the specified OpenAI-compatible API (possibly a local Ollama endpoint) when LLM features are used

Risks and side effects

  • The tested server command runs on the host; without container isolation it can endanger the host system, sensitive data, or files
  • Enabling --test actually invokes server tools and may cause unintended side effects
  • A server may carry malicious or misleading tool metadata that produces inaccurate MCP Interviewer output
  • LLM-generated test plans and evaluations can contain errors; the documentation says all LLM evaluations should be manually inspected
  • The tool is research and experimental in nature and has not been fully tested and validated

Troubleshooting

  1. If the command is not found or fails, verify the server command runs on its own and consider wrapping it in a container command (e.g. docker run -i --rm node:lts npx)
  2. If a model is required, check whether you used --test, --judge-tools, --judge-test, or --judge and supply --model for those options
  3. If connecting to a local model (e.g. Ollama) fails, verify base_url and api_key in --client-kwargs
  4. When using a custom OpenAI-compatible client, confirm the --client import path resolves to a parameterless callable
  5. If output looks suspicious, inspect the server's metadata manually and see the repository's TRANSPARENCY.md

Use cases

Check an MCP server against provider hard constraints before handing it to an agent
Gate CI/CD pipelines with --fail-on-warnings when constraint warnings appear
Functionally test an MCP server by invoking its tools and collecting tool-call statistics
Use an LLM for experimental evaluation of tools and test results and generate a Markdown report