Skip to main content
Glama

AutoFixture MCP Server

A Model Context Protocol (MCP) server that provides comprehensive documentation and usage examples for the AutoFixture testing library. This server runs in a Docker container and can be easily integrated with VSCode, Cursor, or Claude Desktop.

Features

  • Quick Start Guide: Get up and running with AutoFixture basics

  • Method Search: Search for specific AutoFixture methods and their usage

  • Class Information: Detailed documentation for core AutoFixture classes

  • Package Information: NuGet package details for all AutoFixture extensions

  • Usage Patterns: Common patterns and code examples

  • Best Practices: Recommended approaches for using AutoFixture

  • GitHub Documentation: Fetch latest docs directly from the repository

Related MCP server: MCP Reference Server

Available Tools

  1. get_quick_start: Get AutoFixture quick start guide and basic usage examples

  2. search_methods: Search for AutoFixture methods (e.g., 'Create', 'Build', 'Freeze')

  3. get_class_info: Get detailed information about classes like 'Fixture' or 'IFixture'

  4. get_packages: List AutoFixture NuGet packages by category (core/mocking/testing/all)

  5. get_usage_pattern: Get common usage patterns (e.g., 'customizing', 'automaq', 'xunit')

  6. get_best_practices: Get AutoFixture best practices and recommendations

  7. fetch_github_docs: Fetch latest documentation from GitHub (README, cheatsheet, FAQ)

Prerequisites

  • Docker installed on your system

  • Node.js 20+ (for local development)

  • VSCode, Cursor, or Claude Desktop

Quick Setup

  1. Build the Docker image:

    docker build -t autofixture-mcp-server:latest .
  2. Test the server:

    docker run --rm -i autofixture-mcp-server:latest

Option 2: Using Docker Compose

docker-compose up -d

Integration with Cursor/VSCode

Cursor Setup

  1. Open Cursor settings (Cmd+Shift+P → "Preferences: Open User Settings (JSON)")

  2. Add the MCP server configuration:

{
  "mcp": {
    "servers": {
      "autofixture": {
        "command": "/Users/admin/dev/mcp/mcp-wrapper.sh"
      }
    }
  }
}

Or use the provided config file:

# Copy the configuration
cat cursor-mcp-config.json
# Add to your Cursor settings

VSCode with Claude Code

  1. Install the Claude Code extension

  2. Open your MCP configuration file:

    • On macOS: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

    • On Linux: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

    • On Windows: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json

  3. Add the server configuration:

{
  "mcpServers": {
    "autofixture": {
      "command": "/Users/admin/dev/mcp/mcp-wrapper.sh",
      "args": [],
      "env": {}
    }
  }
}

Claude Desktop Setup

  1. Open Claude Desktop settings:

    • On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • On Windows: %APPDATA%\Claude\claude_desktop_config.json

    • On Linux: ~/.config/Claude/claude_desktop_config.json

  2. Add the server configuration:

{
  "mcpServers": {
    "autofixture": {
      "command": "/Users/admin/dev/mcp/mcp-wrapper.sh",
      "args": [],
      "env": {}
    }
  }
}
  1. Restart Claude Desktop

Local Development Setup

If you want to develop or modify the server locally:

  1. Install dependencies:

    npm install
  2. Build the project:

    npm run build
  3. Run locally (without Docker):

    npm start
  4. Development mode with auto-rebuild:

    npm run dev

Usage Examples

Once integrated, you can use the MCP server in your conversations:

Example 1: Getting Started

User: "Use the autofixture MCP to show me how to get started with AutoFixture"
AI: [Calls get_quick_start tool and provides quick start guide]

Example 2: Searching for Methods

User: "Search for methods related to creating objects in AutoFixture"
AI: [Calls search_methods with query "create" and shows available methods]

Example 3: Getting Usage Patterns

User: "Show me how to use AutoFixture with xUnit"
AI: [Calls get_usage_pattern with pattern "xunit" and provides examples]

Example 4: Package Information

User: "What AutoFixture packages are available for mocking?"
AI: [Calls get_packages with category "mocking" and lists all mocking packages]

Configuration Files

  • mcp-config.json: Generic MCP configuration

  • cursor-mcp-config.json: Cursor-specific configuration

  • claude_desktop_config.json: Claude Desktop configuration

  • docker-compose.yml: Docker Compose configuration

  • mcp-wrapper.sh: Shell script wrapper for Docker integration

Troubleshooting

Server not starting

  • Ensure Docker is running: docker ps

  • Check Docker logs: docker logs autofixture-mcp-server

  • Rebuild the image: docker build -t autofixture-mcp-server:latest .

Permission issues with wrapper script

chmod +x mcp-wrapper.sh

Cursor/VSCode not detecting the server

  • Restart the editor after adding configuration

  • Check that the wrapper script path is absolute

  • Verify Docker is installed: docker --version

Testing the server manually

# Run the wrapper script directly
./mcp-wrapper.sh

# Or use Docker directly
docker run --rm -i autofixture-mcp-server:latest

Project Structure

.
├── src/
│   └── index.ts          # Main MCP server implementation
├── dist/                 # Compiled JavaScript (generated)
├── Dockerfile            # Docker image configuration
├── docker-compose.yml    # Docker Compose setup
├── mcp-wrapper.sh        # Shell wrapper for Docker
├── package.json          # Node.js dependencies
├── tsconfig.json         # TypeScript configuration
├── mcp-config.json       # Generic MCP config
├── cursor-mcp-config.json # Cursor-specific config
├── claude_desktop_config.json # Claude Desktop config
└── README.md             # This file

Architecture

The server is built using:

  • TypeScript: Type-safe server implementation

  • @modelcontextprotocol/sdk: Official MCP SDK

  • axios: HTTP client for fetching GitHub documentation

  • cheerio: HTML parsing (for future enhancements)

  • Docker: Containerization for easy deployment

Contributing

Feel free to extend the server with additional tools:

  1. Add new tool definitions in the ListToolsRequestSchema handler

  2. Implement the tool logic in the CallToolRequestSchema handler

  3. Rebuild the Docker image

License

MIT

Resources

Version

1.0.0


Built with MCP for enhanced AI-assisted development with AutoFixture.

Available Tools

7 tools
fetch_github_docsC

Fetch latest documentation from AutoFixture GitHub repository

Inputs: topic.

get_best_practicesB

Get AutoFixture best practices and recommendations

Inputs: no named parameters.

get_class_infoA

Get detailed information about a specific AutoFixture class

Inputs: className (required).

get_packagesB

Get list of AutoFixture NuGet packages and their purposes

Inputs: category.

get_quick_startA

Get AutoFixture quick start guide and basic usage examples

Inputs: no named parameters.

get_usage_patternC

Get common usage patterns and code examples

Inputs: pattern.

search_methodsC

Search for AutoFixture methods and their usage

Inputs: query (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool targets a distinct aspect of AutoFixture documentation (e.g., fetching full docs, best practices, specific class info, packages, quick start, usage patterns, method search). Descriptions clearly differentiate them, leaving no ambiguity.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using underscores (fetch_github_docs, get_best_practices, etc.). The verbs 'fetch', 'get', and 'search' are all appropriate and uniform.

    Tool Count5/5

    With 7 tools, the server is well-scoped for a documentation-focused AutoFixture helper. Each tool earns its place, covering the main information needs without overwhelming the user.

    Completeness4/5

    The tool set covers nearly all common documentation requests: full docs, best practices, classes, packages, quick start, patterns, and method search. A minor gap is the lack of version-specific changelogs or troubleshooting, but core coverage is solid.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers