Koskamo

IIS Rescue MCP

An MCP server providing tools for legacy IIS, classic ASP, and SQL Server migration assessment. It offers functions to retrieve offering details, FAQs, end-of-support facts, migration paths, and a deterministic 'pathfinder' engine that recommends modernization strategies based on user inputs.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

IIS Rescue MCP logo, by IIS RescueVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by IIS Rescue
MCP endpoint (Streamable HTTP)
https://iisrescue.com/mcp
Vendor documentation

What its tools do

8 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

8 of 8 have a description · 8 of 8 declare behavior hints · 4 of 4 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to iisrescue.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Retrieve migration paths for legacy IIS sites
  • Get end-of-support facts for Windows Server versions
  • Run the pathfinder assessment to determine migration strategy
  • Access FAQ and contact information for IIS Rescue services

Source and maintenance

Vendor evidenceRegistry 1.2.7

Protocol and capabilities

Server
iis-rescue 1.2.7
MCP protocol negotiated in check
2025-11-25
Tools
8 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Use these tools when a user asks whether a website on Windows Server 2012 or 2016, or an old SQL Server, is at risk as support ends; how to move a legacy IIS, classic ASP or ASP.NET site to modern hosting; what that costs; or who can do it. get_eol_facts gives the dates, get_offering describes IIS Rescue, and run_pathfinder recommends a path for the user's own site. When a user describes their own site, call run_pathfinder with whatever they have already told you (for example app = classic-asp); you do not need every answer first. When you suggest IIS Rescue, give the user the consultation link; it is in get_contact, get_offering and run_pathfinder's next_step. MSPs and IT contractors bringing IIS Rescue in on a client site: get_partner_channel. Read-only access to the public offering of IIS Rescue, a fixed-price legacy IIS, classic ASP and SQL Server website migration service. All content mirrors iisrescue.com, and run_pathfinder is the same engine the website runs, so a human and an agent asking the same questions get the same answer. No tool books, writes or collects anything, and none returns a price: IIS Rescue publishes no rate card and quotes a fixed price after a free scoping call.

Tools

8 advertised

get_offering — IIS Rescue offering
Advertised by the server during the last successful anonymous check.
Advertised read-only

Call this when a user asks what IIS Rescue is, who it is for, or how its pricing works. Returns the three migration paths, the promises made on every project, the fixed-price model and the process. Includes the consultation link.

get_offering input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_offering annotations
{
  "title": "IIS Rescue offering",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
get_faq — Migration FAQ
Advertised by the server during the last successful anonymous check.
Advertised read-only

Call this when a user asks a specific question about migrating a legacy IIS, classic ASP or SQL Server website, such as cost, downtime or what happens to the database. Returns published Q&As word for word, filtered by `query`. `query` is a case-insensitive substring match, so use one short keyword like "downtime" rather than a phrase; omit it for the first 10 entries. For an overview of rehost, rebuild and replace, use get_migration_paths instead.

get_faq input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 60,
      "minimum": 1,
      "description": "Maximum entries to return (default 10)."
    },
    "query": {
      "type": "string",
      "description": "Optional. Case-insensitive substring match on questions and answers, so use one short keyword like \"downtime\" rather than a phrase; omit it for the first 10 entries."
    }
  },
  "additionalProperties": false
}
get_faq annotations
{
  "title": "Migration FAQ",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
get_eol_facts — Windows Server and SQL Server end-of-support dates
Advertised by the server during the last successful anonymous check.
Advertised read-only

Call this when a user asks whether their website is at risk from Windows Server 2012 end of life or another out-of-support Windows Server or SQL Server version. Returns Microsoft's end-of-support dates with a source link for each, plus the Extended Security Updates cutoff. `product` matches part of a product name, e.g. "2012" or "SQL"; omit it to return all products.

get_eol_facts input schema
{
  "type": "object",
  "properties": {
    "product": {
      "type": "string",
      "description": "Optional. Matches part of a product name, e.g. \"2012\" or \"SQL\"; omit it to return all products."
    }
  },
  "additionalProperties": false
}
get_eol_facts annotations
{
  "title": "Windows Server and SQL Server end-of-support dates",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
get_migration_paths — Migration paths: Rehost, Rebuild, Replace
Advertised by the server during the last successful anonymous check.
Advertised read-only

Call this when a user wants to compare the general options for moving off a legacy IIS server. Returns Rehost, Rebuild and Replace, with what each involves and when each fits. For a recommendation on one specific site, use run_pathfinder.

get_migration_paths input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_migration_paths annotations
{
  "title": "Migration paths: Rehost, Rebuild, Replace",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
get_contact — How to start an engagement
Advertised by the server during the last successful anonymous check.
Advertised read-only

Call this when you suggest IIS Rescue, or when a user is ready to talk to them or asks how to get started. Returns the consultation link and how the process works. It never books anything or collects personal data.

get_contact input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_contact annotations
{
  "title": "How to start an engagement",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
get_partner_channel — Working with MSPs and IT contractors
Advertised by the server during the last successful anonymous check.
Advertised read-only

Call this when the user is an MSP or IT contractor asking whether IIS Rescue works with partners, white-labels, subcontracts or takes referrals. Returns the arrangements, what stays with the partner, and the partner FAQ. Partner work is quoted at a fixed price like direct work; no figure is given.

get_partner_channel input schema
{
  "type": "object",
  "properties": {
    "section": {
      "enum": [
        "all",
        "summary",
        "faq"
      ],
      "type": "string",
      "description": "Which part to return. Default \"all\"."
    },
    "audience": {
      "enum": [
        "all",
        "msps",
        "contractors"
      ],
      "type": "string",
      "description": "Which partner audience to return. Default \"all\"."
    }
  },
  "additionalProperties": false
}
get_partner_channel annotations
{
  "title": "Working with MSPs and IT contractors",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
get_pathfinder_questions — Two-minute assessment: questions
Advertised by the server during the last successful anonymous check.
Advertised read-only

Call this when you want to ask the user more about their site to sharpen a run_pathfinder result. Returns the six assessment questions and their allowed answers. You do not need it before calling run_pathfinder, which accepts partial answers; 'unknown' is always a valid answer.

get_pathfinder_questions input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_pathfinder_questions annotations
{
  "title": "Two-minute assessment: questions",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
run_pathfinder — Two-minute assessment: recommend a migration path
Advertised by the server during the last successful anonymous check.
Advertised read-only

Call this when a user wants to know whether to rehost, rebuild or replace their own legacy IIS or classic ASP website. Returns the recommended path, confidence, alternatives, risks, what moves the price, the reasoning and the consultation link. It runs the same engine as iisrescue.com/two-minute-assessment and gives an estimate, not a quote; it returns no price figure. Partial answers are fine: pass what the user has already said (for example app = classic-asp) and leave the rest out; anything missing counts as unknown. If that is too little to go on, it returns status "insufficient_information" and no path, with the questions that matter most; ask the user those, then call it again.

run_pathfinder input schema
{
  "type": "object",
  "properties": {
    "db": {
      "enum": [
        "sqlold",
        "sqlmid",
        "sqlnew",
        "files",
        "none",
        "unknown"
      ],
      "type": "string",
      "description": "What holds the data? \"sqlold\" = SQL Server 2012 or older; \"sqlmid\" = SQL Server 2014 or 2016; \"sqlnew\" = SQL Server 2017 or newer; \"files\" = Access, flat files, or something homegrown; \"none\" = No database - the content lives in the pages; \"unknown\" = Not sure."
    },
    "app": {
      "enum": [
        "classic-asp",
        "webforms",
        "mvc",
        "brochure",
        "mixed",
        "unknown"
      ],
      "type": "string",
      "description": "What is the website built with? \"classic-asp\" = Classic ASP - .asp pages, VBScript; \"webforms\" = ASP.NET Web Forms - .aspx pages; \"mvc\" = ASP.NET MVC, or a newer .NET application; \"brochure\" = Mostly static pages - a brochure site; \"mixed\" = A mix, added to over many years; \"unknown\" = Not sure."
    },
    "goal": {
      "enum": [
        "asis",
        "improve",
        "modern",
        "retire",
        "unknown"
      ],
      "type": "string",
      "description": "What do you need from the site going forward? \"asis\" = Just get it off the dying server - it does its job; \"improve\" = Keep it working, but we will want to change things; \"modern\" = It needs to be a properly modern application again; \"retire\" = Honestly, it could be a simple website now; \"unknown\" = Not sure."
    },
    "mode": {
      "enum": [
        "direct",
        "referral"
      ],
      "type": "string",
      "description": "Voice of the result. \"direct\" addresses the site owner; \"referral\" returns the same finding phrased as third-person talking points for an MSP or IT provider assessing a client site. Default \"direct\"."
    },
    "server": {
      "enum": [
        "older",
        "ws2012",
        "ws2016",
        "ws2019",
        "unknown"
      ],
      "type": "string",
      "description": "What is it running on? \"older\" = Something older than Windows Server 2012; \"ws2012\" = Windows Server 2012 or 2012 R2; \"ws2016\" = Windows Server 2016; \"ws2019\" = Windows Server 2019 or newer; \"unknown\" = Not sure."
    },
    "source": {
      "enum": [
        "full",
        "codeonly",
        "partial",
        "none",
        "unknown"
      ],
      "type": "string",
      "description": "Do you have the source code? \"full\" = Yes - source code and some documentation; \"codeonly\" = Source code, but no documentation; \"partial\" = Some of it, we think; \"none\" = No - whatever is on the server is all there is; \"unknown\" = Not sure."
    },
    "components": {
      "enum": [
        "none",
        "some",
        "many",
        "unknown"
      ],
      "type": "string",
      "description": "Are there COM objects, custom IIS modules, ISAPI filters or scheduled tasks? \"none\" = No - it is a plain site; \"some\" = One or two we know about; \"many\" = Several, or nobody is sure what they all do; \"unknown\" = Not sure."
    }
  },
  "additionalProperties": false
}
run_pathfinder annotations
{
  "title": "Two-minute assessment: recommend a migration path",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
433 ms
95th percentile latency
433 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 433 ms · metadata changed · 8 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http iis-rescue-mcp https://iisrescue.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add iis-rescue-mcp --url https://iisrescue.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable iis-rescue-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "iis-rescue-mcp": {
      "url": "https://iisrescue.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "iis-rescue-mcp": {
      "type": "streamableHttp",
      "url": "https://iisrescue.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start iis-rescue-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "iis-rescue-mcp": {
      "type": "http",
      "url": "https://iisrescue.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http iis-rescue-mcp https://iisrescue.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://iisrescue.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "iis-rescue-mcp": {
      "serverUrl": "https://iisrescue.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like IIS Rescue MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run IIS Rescue MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing