{
  "version": 1,
  "site": "https://anymcp.net",
  "install": "https://anymcp.net/install.md",
  "index": "https://anymcp.net/llms.txt",
  "runtime": {
    "sdk": ".NET 10 or later",
    "check": "dotnet --list-sdks",
    "note": "The dotnet run <file>.cs command with #:package directives is a feature of the .NET 10 SDK. Each SDK from version 10 operates, and each earlier SDK fails. Check with --list-sdks, and not with --version: a global.json file can select an earlier SDK on a computer that also has version 10. A file-based app writes no bin directory and no obj directory near the file. The SDK keeps the build output in a cache in the temporary directory of the user.",
    "scope": "project",
    "serverDirectory": ".mcp-servers/",
    "clients": [
      {
        "id": "claude-code",
        "label": "Claude Code, Claude Desktop, Cursor, Windsurf",
        "configFile": ".mcp.json in the project root",
        "format": "json",
        "docs": "https://anymcp.net/install/claude-code.md",
        "postInstall": "The claude mcp add command reports \"Pending approval\" for a project server until a person approves the server. For an agent, this is the correct end state: stop there, and tell the user to start the client again and approve the server."
      },
      {
        "id": "codex",
        "label": "Codex",
        "configFile": ".codex/config.toml in the project root",
        "format": "toml",
        "docs": "https://anymcp.net/install/codex.md",
        "postInstall": "Codex reads a project configuration file only from a trusted project. The trust entry goes in the personal ~/.codex/config.toml of the user, and an agent must not write it. For an agent, the correct end state is this: .codex/config.toml holds the server, and the user has the two steps that remain, the trust entry and a restart with a new chat."
      }
    ]
  },
  "servers": [
    {
      "id": "date-times-mcp",
      "file": "date-times-mcp.cs",
      "description": "Provides date and time utilities including current date/time, date calculations, and formatting",
      "longDescription": "Provides date and time utilities including current date/time, date calculations, and formatting",
      "status": "stable",
      "version": "1.0.0",
      "license": "MIT",
      "author": "XAKPC Dev Labs",
      "tags": [
        "datetime",
        "utilities",
        "formatting",
        "calculations"
      ],
      "env": [],
      "tools": [
        {
          "name": "get_current_date_time",
          "methodName": "GetCurrentDateTime",
          "description": "Gets current date and time in various formats"
        },
        {
          "name": "date_difference",
          "methodName": "DateDifference",
          "description": "Calculates the difference between two dates"
        },
        {
          "name": "add_time",
          "methodName": "AddTime",
          "description": "Adds or subtracts time from a date"
        }
      ],
      "urls": {
        "page": "https://anymcp.net/servers/date-times-mcp/",
        "markdown": "https://anymcp.net/servers/date-times-mcp/index.md",
        "source": "https://anymcp.net/servers/date-times-mcp/date-times-mcp.cs"
      },
      "run": {
        "command": "dotnet",
        "args": [
          "run",
          "./.mcp-servers/date-times-mcp.cs",
          "-v",
          "q"
        ],
        "cwd": "the project directory"
      }
    },
    {
      "id": "generate-password",
      "file": "generate-password.cs",
      "description": "Generates secure passwords with customizable length and complexity.",
      "longDescription": "Generates secure passwords with customizable length and complexity.",
      "status": "stable",
      "version": "1.1.0",
      "license": "MIT",
      "author": "XAKPC Dev Labs",
      "tags": [
        "password",
        "security",
        "utilities"
      ],
      "env": [],
      "tools": [
        {
          "name": "generate_password",
          "methodName": "GeneratePassword",
          "description": "Generates a password with specified length and complexity"
        }
      ],
      "urls": {
        "page": "https://anymcp.net/servers/generate-password/",
        "markdown": "https://anymcp.net/servers/generate-password/index.md",
        "source": "https://anymcp.net/servers/generate-password/generate-password.cs"
      },
      "run": {
        "command": "dotnet",
        "args": [
          "run",
          "./.mcp-servers/generate-password.cs",
          "-v",
          "q"
        ],
        "cwd": "the project directory"
      }
    },
    {
      "id": "image-utility",
      "file": "image-utility.cs",
      "description": "Fast image resize/convert/compress, metadata stripping, and thumbnail generation for everyday assets.",
      "longDescription": "Fast image resize/convert/compress, metadata stripping, and thumbnail generation for everyday assets.",
      "status": "stable",
      "version": "1.0.0",
      "license": "MIT",
      "author": "XAKPC Dev Labs",
      "tags": [
        "images",
        "media",
        "utilities"
      ],
      "env": [],
      "tools": [
        {
          "name": "image_resize",
          "methodName": "ImageResize",
          "description": "Resize an image with various fit modes"
        },
        {
          "name": "image_convert",
          "methodName": "ImageConvert",
          "description": "Convert image to different format"
        }
      ],
      "urls": {
        "page": "https://anymcp.net/servers/image-utility/",
        "markdown": "https://anymcp.net/servers/image-utility/index.md",
        "source": "https://anymcp.net/servers/image-utility/image-utility.cs"
      },
      "run": {
        "command": "dotnet",
        "args": [
          "run",
          "./.mcp-servers/image-utility.cs",
          "-v",
          "q"
        ],
        "cwd": "the project directory"
      }
    },
    {
      "id": "text-format-tools",
      "file": "text-format-tools.cs",
      "description": "Everyday text utilities—slugify, UUID/ID generation, hashing, Base64/URL encode-decode, case transforms, dedent.",
      "longDescription": "Everyday text utilities—slugify, UUID/ID generation, hashing, Base64/URL encode-decode, case transforms, dedent.",
      "status": "stable",
      "version": "1.0.0",
      "license": "MIT",
      "author": "XAKPC Dev Labs",
      "tags": [
        "text",
        "utilities"
      ],
      "env": [],
      "tools": [
        {
          "name": "base64_encode",
          "methodName": "Base64Encode",
          "description": "Encode text to Base64"
        },
        {
          "name": "base64_decode",
          "methodName": "Base64Decode",
          "description": "Decode Base64 to text"
        },
        {
          "name": "url_encode",
          "methodName": "UrlEncode",
          "description": "URL encode text (RFC 3986 percent-encoding)"
        },
        {
          "name": "url_decode",
          "methodName": "UrlDecode",
          "description": "URL decode text (RFC 3986 percent-decoding)"
        },
        {
          "name": "hash",
          "methodName": "Hash",
          "description": "Generate hash of text or base64 bytes"
        },
        {
          "name": "slugify",
          "methodName": "Slugify",
          "description": "Convert text to URL-friendly slug"
        },
        {
          "name": "uuid_v4",
          "methodName": "UuidV4",
          "description": "Generate UUID v4 (random)"
        },
        {
          "name": "uuid_v7",
          "methodName": "UuidV7",
          "description": "Generate UUID v7 (time-ordered)"
        },
        {
          "name": "nano_id",
          "methodName": "NanoId",
          "description": "Generate NanoID"
        },
        {
          "name": "case_convert",
          "methodName": "CaseConvert",
          "description": "Convert text case"
        },
        {
          "name": "dedent_trim",
          "methodName": "DedentTrim",
          "description": "Remove common indentation and trim whitespace"
        }
      ],
      "urls": {
        "page": "https://anymcp.net/servers/text-format-tools/",
        "markdown": "https://anymcp.net/servers/text-format-tools/index.md",
        "source": "https://anymcp.net/servers/text-format-tools/text-format-tools.cs"
      },
      "run": {
        "command": "dotnet",
        "args": [
          "run",
          "./.mcp-servers/text-format-tools.cs",
          "-v",
          "q"
        ],
        "cwd": "the project directory"
      }
    },
    {
      "id": "win-app-screenshots",
      "file": "win-app-screenshots.cs",
      "description": "Capture a PNG of a running Windows application window, and give the picture to the model.",
      "longDescription": "Windows only. It finds a top-level window from a process name, a process id, an executable path, or a window title, and copies its pixels to a PNG. PrintWindow works while another window covers the target, and a screen copy is the fallback. The tool returns the picture to the model, and the path of the saved file.",
      "status": "stable",
      "version": "1.0.0",
      "license": "MIT",
      "author": "XAKPC Dev Labs",
      "tags": [
        "windows",
        "screenshots",
        "images",
        "utilities"
      ],
      "env": [],
      "tools": [
        {
          "name": "list_app_windows",
          "methodName": "ListAppWindows",
          "description": "List the visible windows of a running Windows application, so a capture can pick one"
        },
        {
          "name": "capture_app_window",
          "methodName": "CaptureAppWindow",
          "description": "Capture a window of a running Windows application as a PNG, and return the picture with its file path"
        }
      ],
      "urls": {
        "page": "https://anymcp.net/servers/win-app-screenshots/",
        "markdown": "https://anymcp.net/servers/win-app-screenshots/index.md",
        "source": "https://anymcp.net/servers/win-app-screenshots/win-app-screenshots.cs"
      },
      "run": {
        "command": "dotnet",
        "args": [
          "run",
          "./.mcp-servers/win-app-screenshots.cs",
          "-v",
          "q"
        ],
        "cwd": "the project directory"
      }
    },
    {
      "id": "xquik",
      "file": "xquik.cs",
      "description": "Search and inspect public X posts through the Xquik REST API.",
      "longDescription": "Search and inspect public X posts through the Xquik REST API.",
      "status": "stable",
      "version": "1.0.0",
      "license": "MIT",
      "author": "Xquik",
      "tags": [
        "api",
        "social",
        "web"
      ],
      "env": [
        "XQUIK_API_KEY"
      ],
      "tools": [
        {
          "name": "search_tweets",
          "methodName": "SearchTweets",
          "description": "Search public X posts with the Xquik API"
        },
        {
          "name": "get_tweet",
          "methodName": "GetTweet",
          "description": "Get one public X post by ID with the Xquik API"
        }
      ],
      "urls": {
        "page": "https://anymcp.net/servers/xquik/",
        "markdown": "https://anymcp.net/servers/xquik/index.md",
        "source": "https://anymcp.net/servers/xquik/xquik.cs"
      },
      "run": {
        "command": "dotnet",
        "args": [
          "run",
          "./.mcp-servers/xquik.cs",
          "-v",
          "q"
        ],
        "cwd": "the project directory"
      }
    }
  ]
}