{"meta":{"total":3610,"returned":50,"limit":50,"offset":0,"filter":"connectable","generatedAt":"2026-08-28T23:34:08.705Z"},"servers":[{"id":"mcp-530amodel-com-tools","name":"Path expansion from https://mcp.530amodel.com","description":"Path expansion from https://mcp.530amodel.com","url":"https://mcp.530amodel.com/tools","sourceUrl":"https://mcp.530amodel.com","transport":"http","specVersion":"2025-06-18","status":"active","validated":true,"score":99,"latencyP50":47,"toolCount":4,"tools":[{"name":"project_530a","description":"Deterministically model what a 530A (\"Trump Account\") could be worth at any age, with Monte-Carlo percentile ranges (10/25/50/75/90). Money is integer cents as strings. Same inputs always return identical results. Cite sourceUrl when quoting.","inputSchema":{"type":"object","required":["asOf","birthDate","targetAgeMonths"],"properties":{"asOf":{"type":"string","format":"date"},"birthDate":{"type":"string","format":"date"},"includeSeed":{"type":"boolean","default":true},"annualReturn":{"type":"number","default":0.07,"minimum":-0.5,"maximum":0.2},"returnIsReal":{"type":"boolean","default":true},"annualInflation":{"type":"number","default":0.025,"minimum":0,"maximum":0.2},"annualFee":{"type":"number","default":0.0003,"minimum":0,"maximum":0.05},"annualVolatility":{"type":"number","default":0.15,"minimum":0,"maximum":0.6},"targetAgeMonths":{"type":"integer","minimum":1,"maximum":1428},"mcSeed":{"type":"integer","default":530},"mcPaths":{"type":"integer","default":2000,"minimum":100,"maximum":5000},"sources":{"type":"array","maxItems":8,"items":{"type":"object","required":["id","kind","schedule"],"properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["family","relative","charity","employer"]},"stepUpRate":{"type":"number","minimum":0,"maximum":1},"schedule":{"oneOf":[{"type":"object","required":["type","amountCents","startAgeMonths","endAgeMonths"],"properties":{"type":{"const":"monthly"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"startAgeMonths":{"type":"integer"},"endAgeMonths":{"type":"integer"}}},{"type":"object","required":["type","amountCents","monthOfYear","startAgeMonths","endAgeMonths"],"properties":{"type":{"const":"annual"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"monthOfYear":{"type":"integer","minimum":1,"maximum":12},"startAgeMonths":{"type":"integer"},"endAgeMonths":{"type":"integer"}}},{"type":"object","required":["type","amountCents","atAgeMonths"],"properties":{"type":{"const":"once"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"atAgeMonths":{"type":"integer"}}}]}}}}},"description":"The scenario. Alternatively pass {\"s\": \"<state>\"} using the 530amodel.com share-link encoding."}},{"name":"explain_530a","description":"Returns the verified rules of 530A accounts (seed, caps, tax treatment, withdrawal ages) with primary-source URLs and explicit flags for anything not yet verifiable.","inputSchema":{"type":"object","properties":{}}},{"name":"search","description":"Search verified 530A (\"Trump Account\") knowledge from 530amodel.com: rules and figures, FAQ answers, how to open an account, account comparisons, and calculator methodology. Returns result ids to pass to fetch.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Keywords, e.g. \"contribution cap employer\"."}},"required":["query"]}},{"name":"fetch","description":"Retrieve the full text of a 530A knowledge document by the id returned from search.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Document id from a search result."}},"required":["id"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-07-29 16:40:47","lastCheckedAt":"2026-08-28 22:19:49","mcpAgentSnippet":{"type":"url","url":"https://mcp.530amodel.com/tools","name":"mcp-530amodel-com-tools"}},{"id":"mcp-530amodel-com-rpc","name":"Path expansion from https://mcp.530amodel.com","description":"Path expansion from https://mcp.530amodel.com","url":"https://mcp.530amodel.com/rpc","sourceUrl":"https://mcp.530amodel.com","transport":"http","specVersion":"2025-06-18","status":"active","validated":true,"score":98,"latencyP50":50,"toolCount":4,"tools":[{"name":"project_530a","description":"Deterministically model what a 530A (\"Trump Account\") could be worth at any age, with Monte-Carlo percentile ranges (10/25/50/75/90). Money is integer cents as strings. Same inputs always return identical results. Cite sourceUrl when quoting.","inputSchema":{"type":"object","required":["asOf","birthDate","targetAgeMonths"],"properties":{"asOf":{"type":"string","format":"date"},"birthDate":{"type":"string","format":"date"},"includeSeed":{"type":"boolean","default":true},"annualReturn":{"type":"number","default":0.07,"minimum":-0.5,"maximum":0.2},"returnIsReal":{"type":"boolean","default":true},"annualInflation":{"type":"number","default":0.025,"minimum":0,"maximum":0.2},"annualFee":{"type":"number","default":0.0003,"minimum":0,"maximum":0.05},"annualVolatility":{"type":"number","default":0.15,"minimum":0,"maximum":0.6},"targetAgeMonths":{"type":"integer","minimum":1,"maximum":1428},"mcSeed":{"type":"integer","default":530},"mcPaths":{"type":"integer","default":2000,"minimum":100,"maximum":5000},"sources":{"type":"array","maxItems":8,"items":{"type":"object","required":["id","kind","schedule"],"properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["family","relative","charity","employer"]},"stepUpRate":{"type":"number","minimum":0,"maximum":1},"schedule":{"oneOf":[{"type":"object","required":["type","amountCents","startAgeMonths","endAgeMonths"],"properties":{"type":{"const":"monthly"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"startAgeMonths":{"type":"integer"},"endAgeMonths":{"type":"integer"}}},{"type":"object","required":["type","amountCents","monthOfYear","startAgeMonths","endAgeMonths"],"properties":{"type":{"const":"annual"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"monthOfYear":{"type":"integer","minimum":1,"maximum":12},"startAgeMonths":{"type":"integer"},"endAgeMonths":{"type":"integer"}}},{"type":"object","required":["type","amountCents","atAgeMonths"],"properties":{"type":{"const":"once"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"atAgeMonths":{"type":"integer"}}}]}}}}},"description":"The scenario. Alternatively pass {\"s\": \"<state>\"} using the 530amodel.com share-link encoding."}},{"name":"explain_530a","description":"Returns the verified rules of 530A accounts (seed, caps, tax treatment, withdrawal ages) with primary-source URLs and explicit flags for anything not yet verifiable.","inputSchema":{"type":"object","properties":{}}},{"name":"search","description":"Search verified 530A (\"Trump Account\") knowledge from 530amodel.com: rules and figures, FAQ answers, how to open an account, account comparisons, and calculator methodology. Returns result ids to pass to fetch.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Keywords, e.g. \"contribution cap employer\"."}},"required":["query"]}},{"name":"fetch","description":"Retrieve the full text of a 530A knowledge document by the id returned from search.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Document id from a search result."}},"required":["id"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-07-29 16:40:47","lastCheckedAt":"2026-08-28 22:19:49","mcpAgentSnippet":{"type":"url","url":"https://mcp.530amodel.com/rpc","name":"mcp-530amodel-com-rpc"}},{"id":"mcp-530amodel-com-eq68yt","name":"Subdomain expansion: mcp.530amodel.com","description":"Subdomain expansion: mcp.530amodel.com","url":"https://mcp.530amodel.com/","sourceUrl":"https://530amodel.com/","transport":"http","specVersion":"2025-06-18","status":"active","validated":true,"score":98,"latencyP50":47,"toolCount":4,"tools":[{"name":"project_530a","description":"Deterministically model what a 530A (\"Trump Account\") could be worth at any age, with Monte-Carlo percentile ranges (10/25/50/75/90). Money is integer cents as strings. Same inputs always return identical results. Cite sourceUrl when quoting.","inputSchema":{"type":"object","required":["asOf","birthDate","targetAgeMonths"],"properties":{"asOf":{"type":"string","format":"date"},"birthDate":{"type":"string","format":"date"},"includeSeed":{"type":"boolean","default":true},"annualReturn":{"type":"number","default":0.07,"minimum":-0.5,"maximum":0.2},"returnIsReal":{"type":"boolean","default":true},"annualInflation":{"type":"number","default":0.025,"minimum":0,"maximum":0.2},"annualFee":{"type":"number","default":0.0003,"minimum":0,"maximum":0.05},"annualVolatility":{"type":"number","default":0.15,"minimum":0,"maximum":0.6},"targetAgeMonths":{"type":"integer","minimum":1,"maximum":1428},"mcSeed":{"type":"integer","default":530},"mcPaths":{"type":"integer","default":2000,"minimum":100,"maximum":5000},"sources":{"type":"array","maxItems":8,"items":{"type":"object","required":["id","kind","schedule"],"properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["family","relative","charity","employer"]},"stepUpRate":{"type":"number","minimum":0,"maximum":1},"schedule":{"oneOf":[{"type":"object","required":["type","amountCents","startAgeMonths","endAgeMonths"],"properties":{"type":{"const":"monthly"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"startAgeMonths":{"type":"integer"},"endAgeMonths":{"type":"integer"}}},{"type":"object","required":["type","amountCents","monthOfYear","startAgeMonths","endAgeMonths"],"properties":{"type":{"const":"annual"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"monthOfYear":{"type":"integer","minimum":1,"maximum":12},"startAgeMonths":{"type":"integer"},"endAgeMonths":{"type":"integer"}}},{"type":"object","required":["type","amountCents","atAgeMonths"],"properties":{"type":{"const":"once"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"atAgeMonths":{"type":"integer"}}}]}}}}},"description":"The scenario. Alternatively pass {\"s\": \"<state>\"} using the 530amodel.com share-link encoding."}},{"name":"explain_530a","description":"Returns the verified rules of 530A accounts (seed, caps, tax treatment, withdrawal ages) with primary-source URLs and explicit flags for anything not yet verifiable.","inputSchema":{"type":"object","properties":{}}},{"name":"search","description":"Search verified 530A (\"Trump Account\") knowledge from 530amodel.com: rules and figures, FAQ answers, how to open an account, account comparisons, and calculator methodology. Returns result ids to pass to fetch.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Keywords, e.g. \"contribution cap employer\"."}},"required":["query"]}},{"name":"fetch","description":"Retrieve the full text of a 530A knowledge document by the id returned from search.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Document id from a search result."}},"required":["id"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-07-29 16:40:48","lastCheckedAt":"2026-08-28 22:19:49","mcpAgentSnippet":{"type":"url","url":"https://mcp.530amodel.com/","name":"mcp-530amodel-com-eq68yt"}},{"id":"mcp-530amodel-com-mcp","name":"Subdomain expansion: mcp.530amodel.com","description":"Subdomain expansion: mcp.530amodel.com","url":"https://mcp.530amodel.com/mcp","sourceUrl":"https://530amodel.com/","transport":"http","specVersion":"2025-06-18","status":"active","validated":true,"score":98,"latencyP50":45,"toolCount":4,"tools":[{"name":"project_530a","description":"Deterministically model what a 530A (\"Trump Account\") could be worth at any age, with Monte-Carlo percentile ranges (10/25/50/75/90). Money is integer cents as strings. Same inputs always return identical results. Cite sourceUrl when quoting.","inputSchema":{"type":"object","required":["asOf","birthDate","targetAgeMonths"],"properties":{"asOf":{"type":"string","format":"date"},"birthDate":{"type":"string","format":"date"},"includeSeed":{"type":"boolean","default":true},"annualReturn":{"type":"number","default":0.07,"minimum":-0.5,"maximum":0.2},"returnIsReal":{"type":"boolean","default":true},"annualInflation":{"type":"number","default":0.025,"minimum":0,"maximum":0.2},"annualFee":{"type":"number","default":0.0003,"minimum":0,"maximum":0.05},"annualVolatility":{"type":"number","default":0.15,"minimum":0,"maximum":0.6},"targetAgeMonths":{"type":"integer","minimum":1,"maximum":1428},"mcSeed":{"type":"integer","default":530},"mcPaths":{"type":"integer","default":2000,"minimum":100,"maximum":5000},"sources":{"type":"array","maxItems":8,"items":{"type":"object","required":["id","kind","schedule"],"properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["family","relative","charity","employer"]},"stepUpRate":{"type":"number","minimum":0,"maximum":1},"schedule":{"oneOf":[{"type":"object","required":["type","amountCents","startAgeMonths","endAgeMonths"],"properties":{"type":{"const":"monthly"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"startAgeMonths":{"type":"integer"},"endAgeMonths":{"type":"integer"}}},{"type":"object","required":["type","amountCents","monthOfYear","startAgeMonths","endAgeMonths"],"properties":{"type":{"const":"annual"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"monthOfYear":{"type":"integer","minimum":1,"maximum":12},"startAgeMonths":{"type":"integer"},"endAgeMonths":{"type":"integer"}}},{"type":"object","required":["type","amountCents","atAgeMonths"],"properties":{"type":{"const":"once"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"atAgeMonths":{"type":"integer"}}}]}}}}},"description":"The scenario. Alternatively pass {\"s\": \"<state>\"} using the 530amodel.com share-link encoding."}},{"name":"explain_530a","description":"Returns the verified rules of 530A accounts (seed, caps, tax treatment, withdrawal ages) with primary-source URLs and explicit flags for anything not yet verifiable.","inputSchema":{"type":"object","properties":{}}},{"name":"search","description":"Search verified 530A (\"Trump Account\") knowledge from 530amodel.com: rules and figures, FAQ answers, how to open an account, account comparisons, and calculator methodology. Returns result ids to pass to fetch.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Keywords, e.g. \"contribution cap employer\"."}},"required":["query"]}},{"name":"fetch","description":"Retrieve the full text of a 530A knowledge document by the id returned from search.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Document id from a search result."}},"required":["id"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-07-29 16:40:48","lastCheckedAt":"2026-08-28 22:19:49","mcpAgentSnippet":{"type":"url","url":"https://mcp.530amodel.com/mcp","name":"mcp-530amodel-com-mcp"}},{"id":"mcp-530amodel-com-mcp-json","name":"Path expansion from https://mcp.530amodel.com","description":"Path expansion from https://mcp.530amodel.com","url":"https://mcp.530amodel.com/mcp.json","sourceUrl":"https://mcp.530amodel.com","transport":"http","specVersion":"2025-06-18","status":"active","validated":true,"score":98,"latencyP50":44,"toolCount":4,"tools":[{"name":"project_530a","description":"Deterministically model what a 530A (\"Trump Account\") could be worth at any age, with Monte-Carlo percentile ranges (10/25/50/75/90). Money is integer cents as strings. Same inputs always return identical results. Cite sourceUrl when quoting.","inputSchema":{"type":"object","required":["asOf","birthDate","targetAgeMonths"],"properties":{"asOf":{"type":"string","format":"date"},"birthDate":{"type":"string","format":"date"},"includeSeed":{"type":"boolean","default":true},"annualReturn":{"type":"number","default":0.07,"minimum":-0.5,"maximum":0.2},"returnIsReal":{"type":"boolean","default":true},"annualInflation":{"type":"number","default":0.025,"minimum":0,"maximum":0.2},"annualFee":{"type":"number","default":0.0003,"minimum":0,"maximum":0.05},"annualVolatility":{"type":"number","default":0.15,"minimum":0,"maximum":0.6},"targetAgeMonths":{"type":"integer","minimum":1,"maximum":1428},"mcSeed":{"type":"integer","default":530},"mcPaths":{"type":"integer","default":2000,"minimum":100,"maximum":5000},"sources":{"type":"array","maxItems":8,"items":{"type":"object","required":["id","kind","schedule"],"properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["family","relative","charity","employer"]},"stepUpRate":{"type":"number","minimum":0,"maximum":1},"schedule":{"oneOf":[{"type":"object","required":["type","amountCents","startAgeMonths","endAgeMonths"],"properties":{"type":{"const":"monthly"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"startAgeMonths":{"type":"integer"},"endAgeMonths":{"type":"integer"}}},{"type":"object","required":["type","amountCents","monthOfYear","startAgeMonths","endAgeMonths"],"properties":{"type":{"const":"annual"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"monthOfYear":{"type":"integer","minimum":1,"maximum":12},"startAgeMonths":{"type":"integer"},"endAgeMonths":{"type":"integer"}}},{"type":"object","required":["type","amountCents","atAgeMonths"],"properties":{"type":{"const":"once"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"atAgeMonths":{"type":"integer"}}}]}}}}},"description":"The scenario. Alternatively pass {\"s\": \"<state>\"} using the 530amodel.com share-link encoding."}},{"name":"explain_530a","description":"Returns the verified rules of 530A accounts (seed, caps, tax treatment, withdrawal ages) with primary-source URLs and explicit flags for anything not yet verifiable.","inputSchema":{"type":"object","properties":{}}},{"name":"search","description":"Search verified 530A (\"Trump Account\") knowledge from 530amodel.com: rules and figures, FAQ answers, how to open an account, account comparisons, and calculator methodology. Returns result ids to pass to fetch.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Keywords, e.g. \"contribution cap employer\"."}},"required":["query"]}},{"name":"fetch","description":"Retrieve the full text of a 530A knowledge document by the id returned from search.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Document id from a search result."}},"required":["id"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-07-29 16:40:47","lastCheckedAt":"2026-08-28 22:19:47","mcpAgentSnippet":{"type":"url","url":"https://mcp.530amodel.com/mcp.json","name":"mcp-530amodel-com-mcp-json"}},{"id":"mcp-530amodel-com-v1-mcp","name":"Path expansion from https://mcp.530amodel.com","description":"Path expansion from https://mcp.530amodel.com","url":"https://mcp.530amodel.com/v1/mcp","sourceUrl":"https://mcp.530amodel.com","transport":"http","specVersion":"2025-06-18","status":"active","validated":true,"score":98,"latencyP50":47,"toolCount":4,"tools":[{"name":"project_530a","description":"Deterministically model what a 530A (\"Trump Account\") could be worth at any age, with Monte-Carlo percentile ranges (10/25/50/75/90). Money is integer cents as strings. Same inputs always return identical results. Cite sourceUrl when quoting.","inputSchema":{"type":"object","required":["asOf","birthDate","targetAgeMonths"],"properties":{"asOf":{"type":"string","format":"date"},"birthDate":{"type":"string","format":"date"},"includeSeed":{"type":"boolean","default":true},"annualReturn":{"type":"number","default":0.07,"minimum":-0.5,"maximum":0.2},"returnIsReal":{"type":"boolean","default":true},"annualInflation":{"type":"number","default":0.025,"minimum":0,"maximum":0.2},"annualFee":{"type":"number","default":0.0003,"minimum":0,"maximum":0.05},"annualVolatility":{"type":"number","default":0.15,"minimum":0,"maximum":0.6},"targetAgeMonths":{"type":"integer","minimum":1,"maximum":1428},"mcSeed":{"type":"integer","default":530},"mcPaths":{"type":"integer","default":2000,"minimum":100,"maximum":5000},"sources":{"type":"array","maxItems":8,"items":{"type":"object","required":["id","kind","schedule"],"properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["family","relative","charity","employer"]},"stepUpRate":{"type":"number","minimum":0,"maximum":1},"schedule":{"oneOf":[{"type":"object","required":["type","amountCents","startAgeMonths","endAgeMonths"],"properties":{"type":{"const":"monthly"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"startAgeMonths":{"type":"integer"},"endAgeMonths":{"type":"integer"}}},{"type":"object","required":["type","amountCents","monthOfYear","startAgeMonths","endAgeMonths"],"properties":{"type":{"const":"annual"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"monthOfYear":{"type":"integer","minimum":1,"maximum":12},"startAgeMonths":{"type":"integer"},"endAgeMonths":{"type":"integer"}}},{"type":"object","required":["type","amountCents","atAgeMonths"],"properties":{"type":{"const":"once"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"atAgeMonths":{"type":"integer"}}}]}}}}},"description":"The scenario. Alternatively pass {\"s\": \"<state>\"} using the 530amodel.com share-link encoding."}},{"name":"explain_530a","description":"Returns the verified rules of 530A accounts (seed, caps, tax treatment, withdrawal ages) with primary-source URLs and explicit flags for anything not yet verifiable.","inputSchema":{"type":"object","properties":{}}},{"name":"search","description":"Search verified 530A (\"Trump Account\") knowledge from 530amodel.com: rules and figures, FAQ answers, how to open an account, account comparisons, and calculator methodology. Returns result ids to pass to fetch.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Keywords, e.g. \"contribution cap employer\"."}},"required":["query"]}},{"name":"fetch","description":"Retrieve the full text of a 530A knowledge document by the id returned from search.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Document id from a search result."}},"required":["id"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-07-29 16:40:47","lastCheckedAt":"2026-08-28 22:19:46","mcpAgentSnippet":{"type":"url","url":"https://mcp.530amodel.com/v1/mcp","name":"mcp-530amodel-com-v1-mcp"}},{"id":"mcp-530amodel-com-well-known-mcp","name":"Path expansion from https://mcp.530amodel.com","description":"Path expansion from https://mcp.530amodel.com","url":"https://mcp.530amodel.com/.well-known/mcp","sourceUrl":"https://mcp.530amodel.com","transport":"http","specVersion":"2025-06-18","status":"active","validated":true,"score":98,"latencyP50":45,"toolCount":4,"tools":[{"name":"project_530a","description":"Deterministically model what a 530A (\"Trump Account\") could be worth at any age, with Monte-Carlo percentile ranges (10/25/50/75/90). Money is integer cents as strings. Same inputs always return identical results. Cite sourceUrl when quoting.","inputSchema":{"type":"object","required":["asOf","birthDate","targetAgeMonths"],"properties":{"asOf":{"type":"string","format":"date"},"birthDate":{"type":"string","format":"date"},"includeSeed":{"type":"boolean","default":true},"annualReturn":{"type":"number","default":0.07,"minimum":-0.5,"maximum":0.2},"returnIsReal":{"type":"boolean","default":true},"annualInflation":{"type":"number","default":0.025,"minimum":0,"maximum":0.2},"annualFee":{"type":"number","default":0.0003,"minimum":0,"maximum":0.05},"annualVolatility":{"type":"number","default":0.15,"minimum":0,"maximum":0.6},"targetAgeMonths":{"type":"integer","minimum":1,"maximum":1428},"mcSeed":{"type":"integer","default":530},"mcPaths":{"type":"integer","default":2000,"minimum":100,"maximum":5000},"sources":{"type":"array","maxItems":8,"items":{"type":"object","required":["id","kind","schedule"],"properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["family","relative","charity","employer"]},"stepUpRate":{"type":"number","minimum":0,"maximum":1},"schedule":{"oneOf":[{"type":"object","required":["type","amountCents","startAgeMonths","endAgeMonths"],"properties":{"type":{"const":"monthly"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"startAgeMonths":{"type":"integer"},"endAgeMonths":{"type":"integer"}}},{"type":"object","required":["type","amountCents","monthOfYear","startAgeMonths","endAgeMonths"],"properties":{"type":{"const":"annual"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"monthOfYear":{"type":"integer","minimum":1,"maximum":12},"startAgeMonths":{"type":"integer"},"endAgeMonths":{"type":"integer"}}},{"type":"object","required":["type","amountCents","atAgeMonths"],"properties":{"type":{"const":"once"},"amountCents":{"type":"string","pattern":"^\\d{1,12}$"},"atAgeMonths":{"type":"integer"}}}]}}}}},"description":"The scenario. Alternatively pass {\"s\": \"<state>\"} using the 530amodel.com share-link encoding."}},{"name":"explain_530a","description":"Returns the verified rules of 530A accounts (seed, caps, tax treatment, withdrawal ages) with primary-source URLs and explicit flags for anything not yet verifiable.","inputSchema":{"type":"object","properties":{}}},{"name":"search","description":"Search verified 530A (\"Trump Account\") knowledge from 530amodel.com: rules and figures, FAQ answers, how to open an account, account comparisons, and calculator methodology. Returns result ids to pass to fetch.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Keywords, e.g. \"contribution cap employer\"."}},"required":["query"]}},{"name":"fetch","description":"Retrieve the full text of a 530A knowledge document by the id returned from search.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Document id from a search result."}},"required":["id"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-07-29 16:40:47","lastCheckedAt":"2026-08-28 22:19:46","mcpAgentSnippet":{"type":"url","url":"https://mcp.530amodel.com/.well-known/mcp","name":"mcp-530amodel-com-well-known-mcp"}},{"id":"toolhost-mcp-rckflr-workers-dev-mcp-json","name":"Path expansion from https://toolhost-mcp.rckflr.workers.dev","description":"Path expansion from https://toolhost-mcp.rckflr.workers.dev","url":"https://toolhost-mcp.rckflr.workers.dev/mcp.json","sourceUrl":"https://toolhost-mcp.rckflr.workers.dev","transport":"http","specVersion":"2025-06-18","status":"active","validated":true,"score":98,"latencyP50":41,"toolCount":2,"tools":[{"name":"create_payment","description":"Crea un pago usando la logica interna de la plataforma","inputSchema":{"type":"object","properties":{"amount":{"type":"number","description":"Monto en centavos"},"currency":{"type":"string","description":"Moneda ISO, ej: usd"}},"required":["amount","currency"]}},{"name":"refund_payment","description":"Reembolsa un pago existente","inputSchema":{"type":"object","properties":{"paymentId":{"type":"string"}},"required":["paymentId"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-07-09 20:42:47","lastCheckedAt":"2026-08-28 22:19:37","mcpAgentSnippet":{"type":"url","url":"https://toolhost-mcp.rckflr.workers.dev/mcp.json","name":"toolhost-mcp-rckflr-workers-dev-mcp-json"}},{"id":"toolhost-mcp-rckflr-workers-dev-rpc","name":"Path expansion from https://toolhost-mcp.rckflr.workers.dev","description":"Path expansion from https://toolhost-mcp.rckflr.workers.dev","url":"https://toolhost-mcp.rckflr.workers.dev/rpc","sourceUrl":"https://toolhost-mcp.rckflr.workers.dev","transport":"http","specVersion":"2025-06-18","status":"active","validated":true,"score":98,"latencyP50":47,"toolCount":2,"tools":[{"name":"create_payment","description":"Crea un pago usando la logica interna de la plataforma","inputSchema":{"type":"object","properties":{"amount":{"type":"number","description":"Monto en centavos"},"currency":{"type":"string","description":"Moneda ISO, ej: usd"}},"required":["amount","currency"]}},{"name":"refund_payment","description":"Reembolsa un pago existente","inputSchema":{"type":"object","properties":{"paymentId":{"type":"string"}},"required":["paymentId"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-07-09 20:42:47","lastCheckedAt":"2026-08-28 22:19:37","mcpAgentSnippet":{"type":"url","url":"https://toolhost-mcp.rckflr.workers.dev/rpc","name":"toolhost-mcp-rckflr-workers-dev-rpc"}},{"id":"toolhost-mcp-rckflr-workers-dev-tools","name":"Path expansion from https://toolhost-mcp.rckflr.workers.dev","description":"Path expansion from https://toolhost-mcp.rckflr.workers.dev","url":"https://toolhost-mcp.rckflr.workers.dev/tools","sourceUrl":"https://toolhost-mcp.rckflr.workers.dev","transport":"http","specVersion":"2025-06-18","status":"active","validated":true,"score":98,"latencyP50":44,"toolCount":2,"tools":[{"name":"create_payment","description":"Crea un pago usando la logica interna de la plataforma","inputSchema":{"type":"object","properties":{"amount":{"type":"number","description":"Monto en centavos"},"currency":{"type":"string","description":"Moneda ISO, ej: usd"}},"required":["amount","currency"]}},{"name":"refund_payment","description":"Reembolsa un pago existente","inputSchema":{"type":"object","properties":{"paymentId":{"type":"string"}},"required":["paymentId"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-07-09 20:42:47","lastCheckedAt":"2026-08-28 22:19:37","mcpAgentSnippet":{"type":"url","url":"https://toolhost-mcp.rckflr.workers.dev/tools","name":"toolhost-mcp-rckflr-workers-dev-tools"}},{"id":"toolhost-mcp-rckflr-workers-dev-api-mcp","name":"Path expansion from https://toolhost-mcp.rckflr.workers.dev","description":"Path expansion from https://toolhost-mcp.rckflr.workers.dev","url":"https://toolhost-mcp.rckflr.workers.dev/api/mcp","sourceUrl":"https://toolhost-mcp.rckflr.workers.dev","transport":"http","specVersion":"2025-06-18","status":"active","validated":true,"score":98,"latencyP50":43,"toolCount":2,"tools":[{"name":"create_payment","description":"Crea un pago usando la logica interna de la plataforma","inputSchema":{"type":"object","properties":{"amount":{"type":"number","description":"Monto en centavos"},"currency":{"type":"string","description":"Moneda ISO, ej: usd"}},"required":["amount","currency"]}},{"name":"refund_payment","description":"Reembolsa un pago existente","inputSchema":{"type":"object","properties":{"paymentId":{"type":"string"}},"required":["paymentId"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-07-09 20:42:47","lastCheckedAt":"2026-08-28 22:19:36","mcpAgentSnippet":{"type":"url","url":"https://toolhost-mcp.rckflr.workers.dev/api/mcp","name":"toolhost-mcp-rckflr-workers-dev-api-mcp"}},{"id":"toolhost-mcp-rckflr-workers-dev-v1-mcp","name":"Path expansion from https://toolhost-mcp.rckflr.workers.dev","description":"Path expansion from https://toolhost-mcp.rckflr.workers.dev","url":"https://toolhost-mcp.rckflr.workers.dev/v1/mcp","sourceUrl":"https://toolhost-mcp.rckflr.workers.dev","transport":"http","specVersion":"2025-06-18","status":"active","validated":true,"score":98,"latencyP50":42,"toolCount":2,"tools":[{"name":"create_payment","description":"Crea un pago usando la logica interna de la plataforma","inputSchema":{"type":"object","properties":{"amount":{"type":"number","description":"Monto en centavos"},"currency":{"type":"string","description":"Moneda ISO, ej: usd"}},"required":["amount","currency"]}},{"name":"refund_payment","description":"Reembolsa un pago existente","inputSchema":{"type":"object","properties":{"paymentId":{"type":"string"}},"required":["paymentId"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-07-09 20:42:47","lastCheckedAt":"2026-08-28 22:19:36","mcpAgentSnippet":{"type":"url","url":"https://toolhost-mcp.rckflr.workers.dev/v1/mcp","name":"toolhost-mcp-rckflr-workers-dev-v1-mcp"}},{"id":"toolhost-mcp-rckflr-workers-dev-well-known-mcp","name":"Path expansion from https://toolhost-mcp.rckflr.workers.dev","description":"Path expansion from https://toolhost-mcp.rckflr.workers.dev","url":"https://toolhost-mcp.rckflr.workers.dev/.well-known/mcp","sourceUrl":"https://toolhost-mcp.rckflr.workers.dev","transport":"http","specVersion":"2025-06-18","status":"active","validated":true,"score":98,"latencyP50":43,"toolCount":2,"tools":[{"name":"create_payment","description":"Crea un pago usando la logica interna de la plataforma","inputSchema":{"type":"object","properties":{"amount":{"type":"number","description":"Monto en centavos"},"currency":{"type":"string","description":"Moneda ISO, ej: usd"}},"required":["amount","currency"]}},{"name":"refund_payment","description":"Reembolsa un pago existente","inputSchema":{"type":"object","properties":{"paymentId":{"type":"string"}},"required":["paymentId"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-07-09 20:42:47","lastCheckedAt":"2026-08-28 22:19:36","mcpAgentSnippet":{"type":"url","url":"https://toolhost-mcp.rckflr.workers.dev/.well-known/mcp","name":"toolhost-mcp-rckflr-workers-dev-well-known-mcp"}},{"id":"modelcontextprotocol-name-mcp-github-to-mcp","name":"Convert GitHub repositories to MCP servers automatically. Extract tools from Ope","description":"Convert GitHub repositories to MCP servers automatically. Extract tools from OpenAPI, GraphQL & REST APIs for Claude Desktop, Cursor, Windsurf, Cline & VS Code. AI-powered code generation creates type-safe TypeScript/Python MCP servers. Zero config setup - just paste a repo URL. Built for AI assistants & LLM tool integration.","url":"https://modelcontextprotocol.name/mcp/github-to-mcp","sourceUrl":"https://github.com/nirholas/github-to-mcp","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":98,"latencyP50":45,"toolCount":2,"tools":[{"name":"get_repo_info","description":"Get information about a GitHub repository.","inputSchema":{"type":"object","properties":{"owner":{"type":"string","description":"Repository owner"},"repo":{"type":"string","description":"Repository name"}},"required":["owner","repo"]}},{"name":"search_repos","description":"Search GitHub repositories by keyword.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search query"},"limit":{"type":"number","description":"Max results (default: 10)"}},"required":["query"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-07-08 07:09:54","lastCheckedAt":"2026-08-28 22:19:33","mcpAgentSnippet":{"type":"url","url":"https://modelcontextprotocol.name/mcp/github-to-mcp","name":"modelcontextprotocol-name-mcp-github-to-mcp"}},{"id":"modelcontextprotocol-name-mcp-xactions","name":"MCP endpoint from claude-code/settings.json in rasha-hantash/dotfiles","description":"MCP endpoint from claude-code/settings.json in rasha-hantash/dotfiles","url":"https://modelcontextprotocol.name/mcp/xactions","sourceUrl":"https://github.com/rasha-hantash/dotfiles/blob/main/claude-code/settings.json","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":97,"latencyP50":98,"toolCount":3,"tools":[{"name":"search_twitter_users","description":"Search for X/Twitter user profiles by keyword using public search.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search query (e.g. \"crypto\", \"defi\", \"ethereum\")"}},"required":["query"]}},{"name":"get_twitter_trends","description":"Get current trending topics and hashtags related to a keyword.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Topic to search trends for (e.g. \"bitcoin\", \"AI\")"}},"required":["query"]}},{"name":"analyze_social_sentiment","description":"Analyze social media sentiment for a cryptocurrency or topic using available public data.","inputSchema":{"type":"object","properties":{"topic":{"type":"string","description":"Topic to analyze (e.g. \"bitcoin\", \"ethereum\", \"sperax\")"}},"required":["topic"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-06-15 14:07:36","lastCheckedAt":"2026-08-28 22:19:17","mcpAgentSnippet":{"type":"url","url":"https://modelcontextprotocol.name/mcp/xactions","name":"modelcontextprotocol-name-mcp-xactions"}},{"id":"reporadar-mcp-let-s-go-christo-workers-dev-sse","name":"Cloudflare Workers MCP endpoint from RepoRadar/reporadar","description":"Cloudflare Workers MCP endpoint from RepoRadar/reporadar","url":"https://reporadar-mcp.let-s-go-christo.workers.dev/sse","sourceUrl":"https://github.com/RepoRadar/reporadar/blob/main/workers/mcp/README.md","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":93,"latencyP50":54,"toolCount":2,"tools":[{"name":"rank_repos","description":"Search GitHub via RepoRadar's curated multi-tier fallback (topic → keyword → all-time) and rank the results across 10 PRD dimensions: Momentum, Velocity, Maturity, Community, Recency, Heat, ProductionReadiness, LicenseSafety, Documentation, EcosystemPull. Each repo comes back with raw GitHub stats (stars/forks/topics/pushedAt) and a 0-100 score per dimension. Pass `topic` for a curated tag (e.g. \"agents\", \"rag\", \"llm\", \"rust\", \"security\") or `query` for free-text search. Returns at most 12 repos.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"query":{"description":"Free-text search (e.g. 'a podcast platform', 'memory for agents'). Routed through RepoRadar's multi-tier topic→keyword→all-time fallback.","type":"string"},"topic":{"description":"GitHub topic tag (e.g. 'agents', 'rag', 'llm', 'rust', 'security'). Mutually compatible with `query`.","type":"string"},"limit":{"description":"How many repos to return (1-12, default 8).","type":"integer","minimum":1,"maximum":12}}}},{"name":"deploy_variant","description":"Deploy a bespoke A2UI generative-UI micro-app for a specific GitHub repo. Pipes through RepoRadar's deploy worker, which asks Gemini to pick an interactive form factor (playground, dashboard, control-panel, wizard, widget-grid, reader), emits an A2UI surface, persists it to R2 + per-deploy D1, and returns a live URL at <slug>.reporadar.io that the user can open immediately.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{"repo":{"type":"string","pattern":"^[\\w.-]+\\/[\\w.-]+$","description":"GitHub repo full name in the form 'owner/name'."},"hint":{"description":"Optional natural-language hint to steer the generated surface (e.g. 'focus on the prompt-caching examples').","type":"string"}},"required":["repo"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-06-03 12:04:37","lastCheckedAt":"2026-08-28 22:19:02","mcpAgentSnippet":{"type":"url","url":"https://reporadar-mcp.let-s-go-christo.workers.dev/sse","name":"reporadar-mcp-let-s-go-christo-workers-dev-sse"}},{"id":"graph-mcp-992978142-workers-dev","name":"Cloudflare Workers MCP endpoint from jason3535/hardware-startup-graph","description":"Cloudflare Workers MCP endpoint from jason3535/hardware-startup-graph","url":"https://graph-mcp.992978142.workers.dev/","sourceUrl":"https://github.com/jason3535/hardware-startup-graph/blob/main/index.html","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":97,"latencyP50":38,"toolCount":5,"tools":[{"name":"list_graphs","description":"List the available people-graphs (smart-hardware founders, AI researchers/founders, investors) with their person and connection counts. Call this first to discover what data is available.","inputSchema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"search_people","description":"Full-text search for people across one or all graphs. Matches name (EN/ZH), organization, title, bio (EN/ZH) and field tags. Returns lightweight summaries — use get_person for the full bio and connections.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search text, e.g. 'DJI', '机器人', 'Anthropic', 'humanoid'."},"graph":{"type":"string","enum":["hardware","ai","investor"],"description":"Optional: restrict to one graph. Omit to search all three."},"field":{"type":"string","description":"Optional: filter by a field tag, e.g. 'robotics', 'drones', 'consumer'."},"limit":{"type":"integer","minimum":1,"maximum":100,"description":"Max results (default 20)."}},"required":["query"],"additionalProperties":false}},{"name":"get_person","description":"Get the full record for one person — bilingual bio, milestones, and all their relationships (who they mentored, worked with, compete with, invested in, etc.) — by id or name within a graph.","inputSchema":{"type":"object","properties":{"graph":{"type":"string","enum":["hardware","ai","investor"],"description":"Which graph: hardware, ai, or investor."},"id":{"type":"string","description":"The person's id (e.g. 'wangtao'). Preferred if known."},"name":{"type":"string","description":"The person's name (EN or ZH). Used if id is omitted; first case-insensitive match wins."}},"required":["graph"],"additionalProperties":false}},{"name":"get_connections","description":"List relationships in a graph. Optionally filter to one person (all edges touching them) and/or by relationship type (e.g. mentor, former-colleague, industry-peer, investor).","inputSchema":{"type":"object","properties":{"graph":{"type":"string","enum":["hardware","ai","investor"],"description":"Which graph: hardware, ai, or investor."},"person":{"type":"string","description":"Optional person id to filter edges that touch this person."},"type":{"type":"string","description":"Optional relationship type to filter by."}},"required":["graph"],"additionalProperties":false}},{"name":"get_graph","description":"Dump an entire graph (all people + all connections) as structured JSON. Use when an AI needs to load the full dataset for analysis or visualization. Can be large.","inputSchema":{"type":"object","properties":{"graph":{"type":"string","enum":["hardware","ai","investor"],"description":"Which graph: hardware, ai, or investor."}},"required":["graph"],"additionalProperties":false}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-30 19:11:42","lastCheckedAt":"2026-08-28 22:18:58","mcpAgentSnippet":{"type":"url","url":"https://graph-mcp.992978142.workers.dev/","name":"graph-mcp-992978142-workers-dev"}},{"id":"dataproc-googleapis-com-mcp","name":"MCP endpoint from gemini/settings.json in zchee/agent","description":"MCP endpoint from gemini/settings.json in zchee/agent","url":"https://dataproc.googleapis.com/mcp","sourceUrl":"https://raw.githubusercontent.com/zchee/agent/main/gemini/settings.json","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":97,"latencyP50":90,"toolCount":16,"tools":[{"name":"list_clusters","description":"List Dataproc clusters in a Google Cloud project","inputSchema":{"description":"A request to list the clusters in a project.","properties":{"filter":{"description":"Optional. A filter constraining the clusters to list. Filters are case-sensitive and have the following syntax: field = value [AND [field = value]] ... where **field** is one of `status.state`, `clusterName`, or `labels.[KEY]`, and `[KEY]` is a label key. **value** can be `\"*\"` to match all values. `status.state` can be one of the following: `ACTIVE`, `INACTIVE`, `CREATING`, `RUNNING`, `ERROR`, `DELETING`, `UPDATING`, `STOPPING`, or `STOPPED`. `ACTIVE` contains the `CREATING`, `UPDATING`, and `RUNNING` states. `INACTIVE` contains the `DELETING`, `ERROR`, `STOPPING`, and `STOPPED` states. `clusterName` is the name of the cluster provided at creation time. Only the logical `AND` operator is supported; space-separated items are treated as having an implicit `AND` operator. Example filter: status.state = ACTIVE AND clusterName = mycluster AND labels.env = staging AND labels.starred = *","type":"string"},"pageSize":{"description":"Optional. The maximum number of clusters to return in each response. The service may return fewer than this value. If unspecified, the default value is 200. The maximum value is 1000.","format":"int32","type":"integer"},"pageToken":{"description":"Optional. A page token received from a previous `ListClusters` call. Provide this token to retrieve the subsequent page.","type":"string"},"projectId":{"description":"Required. The ID of the Google Cloud Platform project that the cluster belongs to.","type":"string"},"region":{"description":"Required. The region in which to handle the request.","type":"string"}},"required":["projectId","region"],"type":"object"}},{"name":"get_cluster","description":"Get a Dataproc cluster in a Google Cloud project","inputSchema":{"description":"Request to get the resource representation for a cluster in a project.","properties":{"clusterName":{"description":"Required. The cluster name.","type":"string"},"projectId":{"description":"Required. The ID of the Google Cloud Platform project that the cluster belongs to.","type":"string"},"region":{"description":"Required. The region in which to handle the request.","type":"string"}},"required":["projectId","region","clusterName"],"type":"object"}},{"name":"create_cluster","description":"Create a Dataproc cluster in a Google Cloud project","inputSchema":{"$defs":{"AcceleratorConfig":{"description":"Specifies the type and number of accelerator cards attached to the instances of an instance. See [GPUs on Compute Engine](https://cloud.google.com/compute/docs/gpus/).","properties":{"acceleratorCount":{"description":"The number of the accelerator cards of this type exposed to this instance.","format":"int32","type":"integer"},"acceleratorTypeUri":{"description":"Full URL, partial URI, or short name of the accelerator type resource to expose to this instance. See [Compute Engine AcceleratorTypes](https://cloud.google.com/compute/docs/reference/v1/acceleratorTypes). Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4` * `projects/[project_id]/zones/[zone]/acceleratorTypes/nvidia-tesla-t4` * `nvidia-tesla-t4` **Auto Zone Exception**: If you are using [Auto Zone Placement] (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement), you must use the short name of the accelerator type resource, for example, `nvidia-tesla-t4`.","type":"string"}},"type":"object"},"InstanceGroupConfig":{"description":"Configuration for a cluster instance group.","properties":{"accelerators":{"description":"Optional. The Compute Engine accelerator configuration for these instances.","items":{"$ref":"#/$defs/AcceleratorConfig"},"type":"array"},"bootDiskSizeGb":{"description":"Optional. Size in GB of the boot disk (default is 500GB).","format":"int32","type":"integer"},"bootDiskType":{"description":"Optional. Type of the boot disk (default is \"pd-standard\"). Valid values: \"pd-balanced\" (Persistent Disk Balanced Solid State Drive), \"pd-ssd\" (Persistent Disk Solid State Drive), or \"pd-standard\" (Persistent Disk Hard Disk Drive). See [Disk types](https://cloud.google.com/compute/docs/disks#disk-types).","type":"string"},"machineType":{"description":"Optional. The Compute Engine machine type used for cluster instances. A full URL, partial URI, or short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2` * `projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2` * `n1-standard-2` **Auto Zone Exception**: If you are using the Dataproc [Auto Zone Placement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement) feature, you must use the short name of the machine type resource, for example, `n1-standard-2`.","type":"string"},"numInstances":{"description":"Optional. The number of VM instances in the instance group. For [HA cluster](/dataproc/docs/concepts/configuring-clusters/high-availability) [master_config](#FIELDS.master_config) groups, **must be set to 3**. For standard cluster [master_config](#FIELDS.master_config) groups, **must be set to 1**.","format":"int32","type":"integer"},"preemptibility":{"description":"Optional. Specifies the preemptibility of the instance group. The default value for master and worker groups is `NON_PREEMPTIBLE`. This default cannot be changed. The default value for secondary instances is `PREEMPTIBLE`.","enum":["PREEMPTIBILITY_UNSPECIFIED","NON_PREEMPTIBLE","PREEMPTIBLE","SPOT"],"type":"string","x-google-enum-descriptions":["Preemptibility is unspecified, the system will choose the appropriate setting for each instance group.","Instances are non-preemptible. This option is allowed for all instance groups and is the only valid value for Master and Worker instance groups.","Instances are [preemptible] (https://cloud.google.com/compute/docs/instances/preemptible). This option is allowed only for [secondary worker] (https://cloud.google.com/dataproc/docs/concepts/compute/secondary-vms) groups.","Instances are [Spot VMs] (https://cloud.google.com/compute/docs/instances/spot). This option is allowed only for [secondary worker] (https://cloud.google.com/dataproc/docs/concepts/compute/secondary-vms) groups. Spot VMs are the latest version of [preemptible VMs] (https://cloud.google.com/compute/docs/instances/preemptible), and provide additional features."]}},"type":"object"},"NodeInitializationAction":{"description":"Specifies an executable to run on a fully configured node and a timeout period for executable completion.","properties":{"executableFile":{"description":"Required. Cloud Storage URI of executable file.","type":"string"},"executionTimeout":{"description":"Optional. Amount of time executable has to complete. Default is 10 minutes (see JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). Cluster creation fails with an explanatory error message (the name of the executable that caused the error and the exceeded timeout period) if the executable is not completed at end of the timeout period.","format":"google-duration","type":"string"}},"required":["executableFile"],"type":"object"}},"description":"A request to create a Dataproc cluster.","properties":{"autoscalingPolicy":{"description":"Optional. The autoscaling policy used by the cluster. You can specify either the short name (e.g., `my-policy`) or the full resource name (e.g., `projects/[project_id]/locations/[region]/autoscalingPolicies/[policy_id]`).","type":"string"},"bucket":{"description":"Optional. A Cloud Storage bucket used to stage job dependencies, config files, and job driver console output. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket (see [Dataproc staging and temp buckets](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). **This field requires a Cloud Storage bucket name, not a `gs://...` URI to a Cloud Storage bucket.**","type":"string"},"clusterName":{"description":"Required. The cluster name. Cluster names within a project must be unique. Names of deleted clusters can be reused.","type":"string"},"deleteMaxAge":{"description":"Optional. The lifetime duration of cluster. The cluster will be auto-deleted at the end of this period. Minimum value is 10 minutes; maximum value is 14 days.","format":"google-duration","type":"string"},"deleteMaxIdle":{"description":"Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be deleted. Minimum value is 5 minutes; maximum value is 14 days.","format":"google-duration","type":"string"},"enableComponentGateway":{"description":"Optional. If true, enable http access to specific ports on the cluster from external sources. Defaults to false.","type":"boolean"},"image":{"description":"Optional. The Compute Engine image resource used for cluster instances. The URI can represent an image or image family. Image examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id]` * `projects/[project_id]/global/images/[image-id]` * `image-id` Image family examples. Dataproc will use the most recent image from the family: * `https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name]` * `projects/[project_id]/global/images/family/[custom-image-family-name]` If the URI is unspecified, it will be inferred from `SoftwareConfig.image_version` or the system default.","type":"string"},"imageVersion":{"description":"Optional. The version of software inside the cluster. It must be one of the supported [Dataproc Versions](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#supported-dataproc-image-versions), such as \"1.2\" (including a subminor version, such as \"1.2.29\"), or the [\"preview\" version](https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-versions#other_versions). If unspecified, it defaults to the latest Debian version. E.g. \"2.2-debian12\"","type":"string"},"initializationActions":{"description":"Optional. Commands to execute on each node after config is completed. By default, executables are run on master and all worker nodes.","items":{"$ref":"#/$defs/NodeInitializationAction"},"type":"array"},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. The labels to associate with this cluster. Label **keys** must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). Label **values** may be empty, but, if present, must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a cluster.","type":"object"},"masterConfig":{"$ref":"#/$defs/InstanceGroupConfig","description":"Optional. Configuration for master instances."},"network":{"description":"Optional. The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither `network_uri` nor `subnetwork_uri` is specified, the \"default\" network of the project is used, if it exists. Cannot be a \"Custom Subnet Network\" (see [Using Subnetworks](https://cloud.google.com/compute/docs/subnetworks) for more information). A full URL, partial URI, or short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/global/networks/default` * `projects/[project_id]/global/networks/default` * `default`","type":"string"},"optionalComponents":{"description":"Optional. The set of components to activate on the cluster.","items":{"enum":["COMPONENT_UNSPECIFIED","ANACONDA","DELTA","DOCKER","DRUID","FLINK","HBASE","HIVE_WEBHCAT","HUDI","ICEBERG","JUPYTER","PIG","PRESTO","TRINO","RANGER","SOLR","ZEPPELIN","ZOOKEEPER","JUPYTER_KERNEL_GATEWAY"],"type":"string","x-google-enum-descriptions":["Unspecified component. Specifying this will cause Cluster creation to fail.","The Anaconda component is no longer supported or applicable to [supported Dataproc on Compute Engine image versions] (https://cloud.google.com/dataproc/docs/concepts/versioning/dataproc-version-clusters#supported-dataproc-image-versions). It cannot be activated on clusters created with supported Dataproc on Compute Engine image versions.","Delta Lake.","Docker","The Druid query engine. (alpha)","Flink","HBase. (beta)","The Hive Web HCatalog (the REST service for accessing HCatalog).","Hudi.","Iceberg.","The Jupyter Notebook.","The Pig component.","The Presto query engine.","The Trino query engine.","The Ranger service.","The Solr service.","The Zeppelin notebook.","The Zookeeper service.","The Jupyter Kernel Gateway."]},"type":"array"},"projectId":{"description":"Required. The ID of the Google Cloud Platform project that the cluster belongs to.","type":"string"},"properties":{"additionalProperties":{"type":"string"},"description":"Optional. The properties to set on daemon config files. Property keys are specified in `prefix:property` format, for example `core:hadoop.tmp.dir`. The following are supported prefixes and their mappings: * capacity-scheduler: `capacity-scheduler.xml` * core: `core-site.xml` * distcp: `distcp-default.xml` * hdfs: `hdfs-site.xml` * hive: `hive-site.xml` * mapred: `mapred-site.xml` * pig: `pig.properties` * spark: `spark-defaults.conf` * yarn: `yarn-site.xml` For more information, see [Cluster properties](https://cloud.google.com/dataproc/docs/concepts/cluster-properties).","type":"object"},"region":{"description":"Required. The Dataproc region in which to handle the request.","type":"string"},"resourceManagerTags":{"additionalProperties":{"type":"string"},"description":"Optional. The Resource Manager tags associated with this cluster.","type":"object"},"secondaryWorkerConfig":{"$ref":"#/$defs/InstanceGroupConfig","description":"Optional. Configuration for secondary worker instances."},"serviceAccount":{"description":"Optional. The [Dataproc service account](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/service-accounts#service_accounts_in_dataproc) (also see [VM Data Plane identity](https://cloud.google.com/dataproc/docs/concepts/iam/dataproc-principals#vm_service_account_data_plane_identity)) used by Dataproc cluster VM instances to access Google Cloud Platform services. If not specified, the [Compute Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used.","type":"string"},"stopMaxAge":{"description":"Optional. The lifetime duration of cluster. The cluster will be auto-stopped at the end of this period. Minimum value is 10 minutes; maximum value is 14 days.","format":"google-duration","type":"string"},"stopMaxIdle":{"description":"Optional. The duration to keep the cluster alive while idling (when no jobs are running). Passing this threshold will cause the cluster to be stopped. Minimum value is 5 minutes; maximum value is 14 days.","format":"google-duration","type":"string"},"subnetwork":{"description":"Optional. The Compute Engine subnetwork to be used for machine communications. Cannot be specified with network_uri. A full URL, partial URI, or short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/[region]/subnetworks/sub0` * `projects/[project_id]/regions/[region]/subnetworks/sub0` * `sub0`","type":"string"},"tags":{"description":"Optional. The Compute Engine tags to add to all instances (see [Tagging instances](https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).","items":{"type":"string"},"type":"array"},"tempBucket":{"description":"Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs data, such as Spark and MapReduce history files. If you do not specify a temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or EU) for your cluster's temp bucket according to the Compute Engine zone where your cluster is deployed, and then create and manage this project-level, per-location bucket. The default bucket has a TTL of 90 days, but you can use any TTL (or none) if you specify a bucket (see [Dataproc staging and temp buckets](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)). **This field requires a Cloud Storage bucket name, not a `gs://...` URI to a Cloud Storage bucket.**","type":"string"},"tier":{"description":"Optional. The cluster tier.","enum":["CLUSTER_TIER_UNSPECIFIED","CLUSTER_TIER_STANDARD","CLUSTER_TIER_PREMIUM"],"type":"string","x-google-enum-descriptions":["Uses standard tier if unspecified.","Standard cluster tier.","Premium cluster tier."]},"workerConfig":{"$ref":"#/$defs/InstanceGroupConfig","description":"Optional. Configuration for worker instances."},"zone":{"description":"Optional. The Compute Engine zone where the cluster will be located. On a get request, zone will always be present. A full URL, partial URI, or short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]` * `projects/[project_id]/zones/[zone]` * `[zone]`","type":"string"}},"required":["projectId","region","clusterName"],"type":"object"}},{"name":"delete_cluster","description":"Delete a Dataproc cluster in a Google Cloud project","inputSchema":{"description":"A request to delete a cluster.","properties":{"clusterName":{"description":"Required. The cluster name.","type":"string"},"clusterUuid":{"description":"Optional. Specifying the `cluster_uuid` means the RPC should fail (with error NOT_FOUND) if cluster with specified UUID does not exist.","type":"string"},"gracefulTerminationTimeout":{"description":"Optional. The graceful termination timeout for the deletion of the cluster. Indicate the time the request will wait to complete the running jobs on the cluster before its forceful deletion. Default value is 0 indicating that the user has not enabled the graceful termination. Value can be between 60 second and 6 Hours, in case the graceful termination is enabled. (There is no separate flag to check the enabling or disabling of graceful termination, it can be checked by the values in the field).","format":"google-duration","type":"string"},"projectId":{"description":"Required. The ID of the Google Cloud Platform project that the cluster belongs to.","type":"string"},"region":{"description":"Required. The region in which to handle the request.","type":"string"},"requestId":{"description":"Optional. A unique ID used to identify the request. If the server receives two [DeleteClusterRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.DeleteClusterRequest)s with the same id, then the second request will be ignored and the first google.longrunning.Operation created and stored in the backend is returned. It is recommended to always set this value to a [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.","type":"string"}},"required":["projectId","region","clusterName"],"type":"object"}},{"name":"list_jobs","description":"List Dataproc jobs in a Google Cloud project","inputSchema":{"description":"A request to list jobs in a project.","properties":{"clusterName":{"description":"Optional. If set, the returned jobs list includes only jobs that were submitted to the named cluster.","type":"string"},"filter":{"description":"Optional. A filter constraining the jobs to list. Filters are case-sensitive and have the following syntax: [field = value] AND [field [= value]] ... where **field** is `status.state` or `insertTime`, or `labels.[KEY]`, and `[KEY]` is a label key. **value** can be `*` to match all values. `status.state` can be either `ACTIVE` or `NON_ACTIVE`. Allows `insertTime` to be a timestamp in RFC 3339 format in double quotes, such as `2025-01-01T00:00:00Z`. Only the logical `AND` operator is supported; space-separated items are treated as having an implicit `AND` operator. Example filter: status.state = ACTIVE AND labels.env = staging AND labels.starred = * AND insertTime <= \"2025-01-01T00:00:00Z\"","type":"string"},"jobStateMatcher":{"description":"Optional. Specifies enumerated categories of jobs to list. (default = match ALL jobs). If `filter` is provided, `jobStateMatcher` will be ignored.","enum":["ALL","ACTIVE","NON_ACTIVE"],"type":"string","x-google-enum-descriptions":["Match all jobs, regardless of state.","Only match jobs in non-terminal states: PENDING, RUNNING, or CANCEL_PENDING.","Only match jobs in terminal states: CANCELLED, DONE, or ERROR."]},"pageSize":{"description":"Optional. The number of results to return in each response.","format":"int32","type":"integer"},"pageToken":{"description":"Optional. The page token, returned by a previous call, to request the next page of results.","type":"string"},"projectId":{"description":"Required. The ID of the Google Cloud Platform project that the job belongs to.","type":"string"},"region":{"description":"Required. The Dataproc region in which to handle the request.","type":"string"}},"required":["projectId","region"],"type":"object"}},{"name":"get_job","description":"Get a Dataproc job in a Google Cloud project","inputSchema":{"description":"A request to get the resource representation for a job in a project.","properties":{"jobId":{"description":"Required. The job ID.","type":"string"},"projectId":{"description":"Required. The ID of the Google Cloud Platform project that the job belongs to.","type":"string"},"region":{"description":"Required. The Dataproc region in which to handle the request.","type":"string"}},"required":["projectId","region","jobId"],"type":"object"}},{"name":"list_batches","description":"List Dataproc batches in a Google Cloud project","inputSchema":{"description":"A request to list batch workloads in a project.","properties":{"filter":{"description":"Optional. A filter for the batches to return in the response. A filter is a logical expression constraining the values of various fields in each batch resource. Filters are case sensitive, and may contain multiple clauses combined with logical operators (AND/OR). Supported fields: * `batch_id` * `batch_uuid` * `state` * `create_time` * `labels` * `runtime_info.cohort_info.cohort` e.g. `state = RUNNING and create_time < \"2023-01-01T00:00:00Z\"` filters for batches in state RUNNING that were created before 2023-01-01. `state = RUNNING and labels.environment=production` filters for batches in state in a RUNNING state that have a production environment label. See https://google.aip.dev/assets/misc/ebnf-filtering.txt for a detailed description of the filter syntax and a list of supported comparisons.","type":"string"},"orderBy":{"description":"Optional. Field(s) on which to sort the list of batches. Currently the only supported sort orders are unspecified (empty) and `create_time desc` to sort by most recently created batches first. See https://google.aip.dev/132#ordering for more details.","type":"string"},"pageSize":{"description":"Optional. The maximum number of batches to return in each response. The service may return fewer than this value. The default page size is 20; the maximum page size is 1000.","format":"int32","type":"integer"},"pageToken":{"description":"Optional. A page token received from a previous `ListBatches` call. Provide this token to retrieve the subsequent page.","type":"string"},"parent":{"description":"Required. The parent, which owns this collection of batches.","type":"string"}},"required":["parent"],"type":"object"}},{"name":"get_batch","description":"Get a Dataproc batch in a Google Cloud project","inputSchema":{"description":"A request to get the resource representation for a batch workload.","properties":{"name":{"description":"Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID\"","type":"string"}},"required":["name"],"type":"object"}},{"name":"create_batch","description":"Create a Dataproc Batch in a Google Cloud project","inputSchema":{"$defs":{"AuthenticationConfig":{"description":"Authentication configuration for a workload is used to set the default identity for the workload execution. The config specifies the type of identity (service account or user) that will be used by workloads to access resources on the project(s).","properties":{"userWorkloadAuthenticationType":{"description":"Optional. Authentication type for the user workload running in containers.","enum":["AUTHENTICATION_TYPE_UNSPECIFIED","SERVICE_ACCOUNT","END_USER_CREDENTIALS"],"type":"string","x-google-enum-descriptions":["If AuthenticationType is unspecified then END_USER_CREDENTIALS is used for 3.0 and newer runtimes, and SERVICE_ACCOUNT is used for older runtimes.","Use service account credentials for authenticating to other services.","Use OAuth credentials associated with the workload creator/user for authenticating to other services."]}},"type":"object"},"AutotuningConfig":{"description":"Autotuning configuration of the workload.","properties":{"scenarios":{"description":"Optional. Scenarios for which tunings are applied.","items":{"enum":["SCENARIO_UNSPECIFIED","SCALING","BROADCAST_HASH_JOIN","MEMORY","NONE","AUTO"],"type":"string","x-google-enum-descriptions":["Default value.","Scaling recommendations such as initialExecutors.","Adding hints for potential relation broadcasts.","Memory management for workloads.","No autotuning.","Automatic selection of scenarios."]},"type":"array"}},"type":"object"},"Batch":{"description":"A representation of a batch workload in the service.","properties":{"createTime":{"description":"Output only. The time when the batch was created.","format":"date-time","readOnly":true,"type":"string"},"creator":{"description":"Output only. The email address of the user who created the batch.","readOnly":true,"type":"string"},"environmentConfig":{"$ref":"#/$defs/EnvironmentConfig","description":"Optional. Environment configuration for the batch execution."},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. The labels to associate with this batch. Label **keys** must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). Label **values** may be empty, but, if present, must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a batch.","type":"object"},"name":{"description":"Output only. The resource name of the batch.","readOnly":true,"type":"string"},"operation":{"description":"Output only. The resource name of the operation associated with this batch.","readOnly":true,"type":"string"},"pysparkBatch":{"$ref":"#/$defs/PySparkBatch","description":"Optional. PySpark batch config."},"pysparkNotebookBatch":{"$ref":"#/$defs/PySparkNotebookBatch","description":"Optional. PySpark notebook batch config."},"runtimeConfig":{"$ref":"#/$defs/RuntimeConfig","description":"Optional. Runtime configuration for the batch execution."},"runtimeInfo":{"$ref":"#/$defs/RuntimeInfo","description":"Output only. Runtime information about batch execution.","readOnly":true},"sparkBatch":{"$ref":"#/$defs/SparkBatch","description":"Optional. Spark batch config."},"sparkRBatch":{"$ref":"#/$defs/SparkRBatch","description":"Optional. SparkR batch config."},"sparkSqlBatch":{"$ref":"#/$defs/SparkSqlBatch","description":"Optional. SparkSql batch config."},"state":{"description":"Output only. The state of the batch.","enum":["STATE_UNSPECIFIED","PENDING","RUNNING","CANCELLING","CANCELLED","SUCCEEDED","FAILED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["The batch state is unknown.","The batch is created before running.","The batch is running.","The batch is cancelling.","The batch cancellation was successful.","The batch completed successfully.","The batch is no longer running due to an error."]},"stateHistory":{"description":"Output only. Historical state information for the batch.","items":{"$ref":"#/$defs/StateHistory"},"readOnly":true,"type":"array"},"stateMessage":{"description":"Output only. Batch state details, such as a failure description if the state is `FAILED`.","readOnly":true,"type":"string"},"stateTime":{"description":"Output only. The time when the batch entered a current state.","format":"date-time","readOnly":true,"type":"string"},"uuid":{"description":"Output only. A batch UUID (Unique Universal Identifier). The service generates this value when it creates the batch.","readOnly":true,"type":"string"}},"type":"object"},"CohortInfo":{"description":"Information about the cohort that the workload belongs to.","properties":{"cohort":{"description":"Output only. Final cohort that was used to tune the workload.","readOnly":true,"type":"string"},"cohortSource":{"description":"Output only. Source of the cohort.","enum":["COHORT_SOURCE_UNSPECIFIED","USER_PROVIDED","AIRFLOW"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Cohort source is unspecified.","Indicates that the cohort was explicitly provided.","Composed from the labels coming from Airflow/Composer."]}},"type":"object"},"EnvironmentConfig":{"description":"Environment configuration for a workload.","properties":{"executionConfig":{"$ref":"#/$defs/ExecutionConfig","description":"Optional. Execution configuration for a workload."},"peripheralsConfig":{"$ref":"#/$defs/PeripheralsConfig","description":"Optional. Peripherals configuration that workload has access to."}},"type":"object"},"ExecutionConfig":{"description":"Execution configuration for a workload.","properties":{"authenticationConfig":{"$ref":"#/$defs/AuthenticationConfig","description":"Optional. Authentication configuration used to set the default identity for the workload execution. The config specifies the type of identity (service account or user) that will be used by workloads to access resources on the project(s)."},"idleTtl":{"description":"Optional. Applies to sessions only. The duration to keep the session alive while it's idling. Exceeding this threshold causes the session to terminate. This field cannot be set on a batch workload. Minimum value is 10 minutes; maximum value is 14 days (see JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). Defaults to 1 hour if not set. If both `ttl` and `idle_ttl` are specified for an interactive session, the conditions are treated as `OR` conditions: the workload will be terminated when it has been idle for `idle_ttl` or when `ttl` has been exceeded, whichever occurs first.","format":"google-duration","type":"string"},"kmsKey":{"description":"Optional. The Cloud KMS key to use for encryption.","type":"string"},"networkTags":{"description":"Optional. Tags used for network traffic control.","items":{"type":"string"},"type":"array"},"networkUri":{"description":"Optional. Network URI to connect workload to.","type":"string"},"resourceManagerTags":{"additionalProperties":{"type":"string"},"description":"Optional. Associates Resource Manager tags with the workload nodes. There is a max limit of 30 tags. Keys and values can be either in numeric format, such as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}`, or in namespaced format, such as `{org_id|project_id}/{tag_key_short_name}` and `{tag_value_short_name}`.","type":"object"},"serviceAccount":{"description":"Optional. Service account that used to execute workload.","type":"string"},"stagingBucket":{"description":"Optional. A Cloud Storage bucket used to stage workload dependencies, config files, and store workload output and other ephemeral data, such as Spark history files. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location according to the region where your workload is running, and then create and manage project-level, per-location staging and temporary buckets. **This field requires a Cloud Storage bucket name, not a `gs://...` URI to a Cloud Storage bucket.**","type":"string"},"subnetworkUri":{"description":"Optional. Subnetwork URI to connect workload to.","type":"string"},"ttl":{"description":"Optional. The duration after which the workload will be terminated, specified as the JSON representation for [Duration](https://protobuf.dev/programming-guides/proto3/#json). When the workload exceeds this duration, it will be unconditionally terminated without waiting for ongoing work to finish. If `ttl` is not specified for a batch workload, the workload will be allowed to run until it exits naturally (or run forever without exiting). If `ttl` is not specified for an interactive session, it defaults to 24 hours. If `ttl` is not specified for a batch that uses 2.1+ runtime version, it defaults to 4 hours. Minimum value is 10 minutes; maximum value is 14 days. If both `ttl` and `idle_ttl` are specified (for an interactive session), the conditions are treated as `OR` conditions: the workload will be terminated when it has been idle for `idle_ttl` or when `ttl` has been exceeded, whichever occurs first.","format":"google-duration","type":"string"}},"type":"object"},"PeripheralsConfig":{"description":"Auxiliary services configuration for a workload.","properties":{"metastoreService":{"description":"Optional. Resource name of an existing Dataproc Metastore service. Example: * `projects/[project_id]/locations/[region]/services/[service_id]`","type":"string"},"sparkHistoryServerConfig":{"$ref":"#/$defs/SparkHistoryServerConfig","description":"Optional. The Spark History Server configuration for the workload."}},"type":"object"},"PropertiesInfo":{"description":"Properties of the workload organized by origin.","properties":{"autotuningProperties":{"additionalProperties":{"$ref":"#/$defs/ValueInfo"},"description":"Output only. Properties set by autotuning engine.","readOnly":true,"type":"object"}},"type":"object"},"PyPiRepositoryConfig":{"description":"Configuration for PyPi repository","properties":{"pypiRepository":{"description":"Optional. The PyPi repository address. **Note: This field is not available for batch workloads.**","type":"string"}},"type":"object"},"PySparkBatch":{"description":"A configuration for running an [Apache PySpark](https://spark.apache.org/docs/latest/api/python/getting_started/quickstart.html) batch workload.","properties":{"archiveUris":{"description":"Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: `.jar`, `.tar`, `.tar.gz`, `.tgz`, and `.zip`.","items":{"type":"string"},"type":"array"},"args":{"description":"Optional. The arguments to pass to the driver. Do not include arguments that can be set as batch properties, such as `--conf`, since a collision can occur that causes an incorrect batch submission.","items":{"type":"string"},"type":"array"},"fileUris":{"description":"Optional. HCFS URIs of files to be placed in the working directory of each executor.","items":{"type":"string"},"type":"array"},"jarFileUris":{"description":"Optional. HCFS URIs of jar files to add to the classpath of the Spark driver and tasks.","items":{"type":"string"},"type":"array"},"mainPythonFileUri":{"description":"Required. The HCFS URI of the main Python file to use as the Spark driver. Must be a .py file.","type":"string"},"pythonFileUris":{"description":"Optional. HCFS file URIs of Python files to pass to the PySpark framework. Supported file types: `.py`, `.egg`, and `.zip`.","items":{"type":"string"},"type":"array"}},"required":["mainPythonFileUri"],"type":"object"},"PySparkNotebookBatch":{"description":"A configuration for running a PySpark Notebook batch workload.","properties":{"archiveUris":{"description":"Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: `.jar`, `.tar`, `.tar.gz`, `.tgz`, and `.zip`.","items":{"type":"string"},"type":"array"},"fileUris":{"description":"Optional. HCFS URIs of files to be placed in the working directory of each executor","items":{"type":"string"},"type":"array"},"jarFileUris":{"description":"Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH.","items":{"type":"string"},"type":"array"},"notebookFileUri":{"description":"Required. The HCFS URI of the notebook file to execute.","type":"string"},"params":{"additionalProperties":{"type":"string"},"description":"Optional. The parameters to pass to the notebook.","type":"object"},"pythonFileUris":{"description":"Optional. HCFS URIs of Python files to pass to the PySpark framework.","items":{"type":"string"},"type":"array"}},"required":["notebookFileUri"],"type":"object"},"RepositoryConfig":{"description":"Configuration for dependency repositories","properties":{"pypiRepositoryConfig":{"$ref":"#/$defs/PyPiRepositoryConfig","description":"Optional. Configuration for PyPi repository."}},"type":"object"},"RuntimeConfig":{"description":"Runtime configuration for a workload.","properties":{"autotuningConfig":{"$ref":"#/$defs/AutotuningConfig","description":"Optional. Autotuning configuration of the workload."},"cohort":{"description":"Optional. Cohort identifier. Identifies families of the workloads that have the same shape, for example, daily ETL jobs.","type":"string"},"containerImage":{"description":"Optional. Optional custom container image for the job runtime environment. If not specified, a default container image will be used.","type":"string"},"properties":{"additionalProperties":{"type":"string"},"description":"Optional. A mapping of property names to values, which are used to configure workload execution.","type":"object"},"repositoryConfig":{"$ref":"#/$defs/RepositoryConfig","description":"Optional. Dependency repository configuration."},"version":{"description":"Optional. Version of the batch runtime.","type":"string"}},"type":"object"},"RuntimeInfo":{"description":"Runtime information about workload execution.","properties":{"approximateUsage":{"$ref":"#/$defs/UsageMetrics","description":"Output only. Approximate workload resource usage, calculated when the workload completes (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing)). **Note:** This metric calculation may change in the future, for example, to capture cumulative workload resource consumption during workload execution (see the [Dataproc Serverless release notes] (https://cloud.google.com/dataproc-serverless/docs/release-notes) for announcements, changes, fixes and other Dataproc developments).","readOnly":true},"cohortInfo":{"$ref":"#/$defs/CohortInfo","description":"Output only. Information about the cohort that the workload belongs to.","readOnly":true},"currentUsage":{"$ref":"#/$defs/UsageSnapshot","description":"Output only. Snapshot of current workload resource usage.","readOnly":true},"diagnosticOutputUri":{"description":"Output only. A URI pointing to the location of the diagnostics tarball.","readOnly":true,"type":"string"},"endpoints":{"additionalProperties":{"type":"string"},"description":"Output only. Map of remote access endpoints (such as web interfaces and APIs) to their URIs.","readOnly":true,"type":"object"},"outputUri":{"description":"Output only. A URI pointing to the location of the stdout and stderr of the workload.","readOnly":true,"type":"string"},"propertiesInfo":{"$ref":"#/$defs/PropertiesInfo","description":"Optional. Properties of the workload organized by origin."}},"type":"object"},"SparkBatch":{"description":"A configuration for running an [Apache Spark](https://spark.apache.org/) batch workload.","properties":{"archiveUris":{"description":"Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: `.jar`, `.tar`, `.tar.gz`, `.tgz`, and `.zip`.","items":{"type":"string"},"type":"array"},"args":{"description":"Optional. The arguments to pass to the driver. Do not include arguments that can be set as batch properties, such as `--conf`, since a collision can occur that causes an incorrect batch submission.","items":{"type":"string"},"type":"array"},"fileUris":{"description":"Optional. HCFS URIs of files to be placed in the working directory of each executor.","items":{"type":"string"},"type":"array"},"jarFileUris":{"description":"Optional. HCFS URIs of jar files to add to the classpath of the Spark driver and tasks.","items":{"type":"string"},"type":"array"},"mainClass":{"description":"Optional. The name of the driver main class. The jar file that contains the class must be in the classpath or specified in `jar_file_uris`.","type":"string"},"mainJarFileUri":{"description":"Optional. The HCFS URI of the jar file that contains the main class.","type":"string"}},"type":"object"},"SparkHistoryServerConfig":{"description":"Spark History Server configuration for the workload.","properties":{"dataprocCluster":{"description":"Optional. Resource name of an existing Dataproc Cluster to act as a Spark History Server for the workload. Example: * `projects/[project_id]/regions/[region]/clusters/[cluster_name]`","type":"string"}},"type":"object"},"SparkRBatch":{"description":"A configuration for running an [Apache SparkR](https://spark.apache.org/docs/latest/sparkr.html) batch workload.","properties":{"archiveUris":{"description":"Optional. HCFS URIs of archives to be extracted into the working directory of each executor. Supported file types: `.jar`, `.tar`, `.tar.gz`, `.tgz`, and `.zip`.","items":{"type":"string"},"type":"array"},"args":{"description":"Optional. The arguments to pass to the Spark driver. Do not include arguments that can be set as batch properties, such as `--conf`, since a collision can occur that causes an incorrect batch submission.","items":{"type":"string"},"type":"array"},"fileUris":{"description":"Optional. HCFS URIs of files to be placed in the working directory of each executor.","items":{"type":"string"},"type":"array"},"mainRFileUri":{"description":"Required. The HCFS URI of the main R file to use as the driver. Must be a `.R` or `.r` file.","type":"string"}},"required":["mainRFileUri"],"type":"object"},"SparkSqlBatch":{"description":"A configuration for running [Apache Spark SQL](https://spark.apache.org/sql/) queries as a batch workload.","properties":{"jarFileUris":{"description":"Optional. HCFS URIs of jar files to be added to the Spark CLASSPATH.","items":{"type":"string"},"type":"array"},"queryFileUri":{"description":"Required. The HCFS URI of the script that contains Spark SQL queries to execute.","type":"string"},"queryVariables":{"additionalProperties":{"type":"string"},"description":"Optional. Mapping of query variable names to values (equivalent to the Spark SQL command: `SET name=\"value\";`).","type":"object"}},"required":["queryFileUri"],"type":"object"},"StateHistory":{"description":"Historical state information.","properties":{"state":{"description":"Output only. The state of the batch at this point in history.","enum":["STATE_UNSPECIFIED","PENDING","RUNNING","CANCELLING","CANCELLED","SUCCEEDED","FAILED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["The batch state is unknown.","The batch is created before running.","The batch is running.","The batch is cancelling.","The batch cancellation was successful.","The batch completed successfully.","The batch is no longer running due to an error."]},"stateMessage":{"description":"Output only. Details about the state at this point in history.","readOnly":true,"type":"string"},"stateStartTime":{"description":"Output only. The time when the batch entered the historical state.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"UsageMetrics":{"description":"Usage metrics represent approximate total resources consumed by a workload.","properties":{"acceleratorType":{"description":"Optional. Accelerator type being used, if any Deprecated: This field is only used in runtime versions below 3.0.","type":"string"},"milliAcceleratorSeconds":{"description":"Optional. Accelerator usage in (`milliAccelerator` x `seconds`) (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing)). Deprecated: This field is only used in runtime versions below 3.0.","format":"int64","type":"string"},"milliAcceleratorSecondsA10040":{"description":"Optional. A100-40 accelerator usage in (`milliAccelerator` x `seconds`) (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing)).","format":"int64","type":"string"},"milliAcceleratorSecondsA10080":{"description":"Optional. A100-80 accelerator usage in (`milliAccelerator` x `seconds`) (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing)).","format":"int64","type":"string"},"milliAcceleratorSecondsL4":{"description":"Optional. L4 accelerator usage in (`milliAccelerator` x `seconds`) (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing)).","format":"int64","type":"string"},"milliDcuSeconds":{"description":"Optional. DCU (Dataproc Compute Units) usage in (`milliDCU` x `seconds`) (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing)).","format":"int64","type":"string"},"shuffleStorageGbSeconds":{"description":"Optional. Shuffle storage usage in (`GB` x `seconds`) (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing)).","format":"int64","type":"string"},"updateTime":{"description":"Optional. The timestamp of the usage metrics.","format":"date-time","type":"string"}},"type":"object"},"UsageSnapshot":{"description":"The usage snapshot represents the resources consumed by a workload at a specified time.","properties":{"acceleratorType":{"description":"Optional. Accelerator type being used, if any Deprecated: This field is only used in runtime versions below 3.0.","type":"string"},"milliAccelerator":{"description":"Optional. Milli (one-thousandth) accelerator. (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing)) Deprecated: This field is only used in runtime versions below 3.0.","format":"int64","type":"string"},"milliAcceleratorA10040":{"description":"Optional. Milli (one-thousandth) accelerator for A100-40 accelerators. (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing))","format":"int64","type":"string"},"milliAcceleratorA10080":{"description":"Optional. Milli (one-thousandth) accelerator for A100-80 accelerators. (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing))","format":"int64","type":"string"},"milliAcceleratorL4":{"description":"Optional. Milli (one-thousandth) accelerator for L4 accelerators. (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing))","format":"int64","type":"string"},"milliDcu":{"description":"Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs) (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing)).","format":"int64","type":"string"},"milliDcuPremium":{"description":"Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs) charged at premium tier (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing)).","format":"int64","type":"string"},"shuffleStorageGb":{"description":"Optional. Shuffle Storage in gigabytes (GB). (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing))","format":"int64","type":"string"},"shuffleStorageGbPremium":{"description":"Optional. Shuffle Storage in gigabytes (GB) charged at premium tier. (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing))","format":"int64","type":"string"},"snapshotTime":{"description":"Optional. The timestamp of the usage snapshot.","format":"date-time","type":"string"}},"type":"object"},"ValueInfo":{"description":"Annotatated property value.","properties":{"annotation":{"description":"Annotation, comment or explanation why the property was set.","type":"string"},"overriddenValue":{"description":"Optional. Value which was replaced by the corresponding component.","type":"string"},"value":{"description":"Property value.","type":"string"}},"type":"object"}},"description":"A request to create a batch workload.","properties":{"batch":{"$ref":"#/$defs/Batch","description":"Required. The batch to create."},"batchId":{"description":"Optional. The ID to use for the batch, which will become the final component of the batch's resource name. This value must be 4-63 characters. Valid characters are `/a-z-/`.","type":"string"},"parent":{"description":"Required. The parent resource where this batch will be created.","type":"string"},"requestId":{"description":"Optional. A unique ID used to identify the request. If the service receives two `CreateBatchRequests` with the same `request_id`, the second request is ignored and the operation that corresponds to the first Batch created and stored in the backend is returned. Recommendation: Set this value to a [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). The value must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.","type":"string"}},"required":["parent","batch"],"type":"object"}},{"name":"delete_batch","description":"Delete a Dataproc Batch in a Google Cloud project","inputSchema":{"description":"A request to delete a batch workload.","properties":{"name":{"description":"Required. The fully qualified name of the batch to retrieve in the format \"projects/PROJECT_ID/locations/DATAPROC_REGION/batches/BATCH_ID\"","type":"string"}},"required":["name"],"type":"object"}},{"name":"list_sessions","description":"List Dataproc Sessions in a Google Cloud project","inputSchema":{"description":"A request to list sessions in a project.","properties":{"filter":{"description":"Optional. A filter for the sessions to return in the response. A filter is a logical expression constraining the values of various fields in each session resource. Filters are case sensitive, and may contain multiple clauses combined with logical operators (AND, OR). Supported fields are `session_id`, `session_uuid`, `state`, `create_time`, and `labels`. Example: `state = ACTIVE and create_time < \"2023-01-01T00:00:00Z\"` is a filter for sessions in an ACTIVE state that were created before 2023-01-01. `state = ACTIVE and labels.environment=production` is a filter for sessions in an ACTIVE state that have a production environment label. See https://google.aip.dev/assets/misc/ebnf-filtering.txt for a detailed description of the filter syntax and a list of supported comparators.","type":"string"},"pageSize":{"description":"Optional. The maximum number of sessions to return in each response. The service may return fewer than this value.","format":"int32","type":"integer"},"pageToken":{"description":"Optional. A page token received from a previous `ListSessions` call. Provide this token to retrieve the subsequent page.","type":"string"},"parent":{"description":"Required. The parent, which owns this collection of sessions.","type":"string"}},"required":["parent"],"type":"object"}},{"name":"get_session","description":"Get a Dataproc session in a Google Cloud project","inputSchema":{"description":"A request to get the resource representation for a session.","properties":{"name":{"description":"Required. The name of the session to retrieve.","type":"string"}},"required":["name"],"type":"object"}},{"name":"create_session","description":"Create a Dataproc Session in a Google Cloud project","inputSchema":{"$defs":{"AuthenticationConfig":{"description":"Authentication configuration for a workload is used to set the default identity for the workload execution. The config specifies the type of identity (service account or user) that will be used by workloads to access resources on the project(s).","properties":{"userWorkloadAuthenticationType":{"description":"Optional. Authentication type for the user workload running in containers.","enum":["AUTHENTICATION_TYPE_UNSPECIFIED","SERVICE_ACCOUNT","END_USER_CREDENTIALS"],"type":"string","x-google-enum-descriptions":["If AuthenticationType is unspecified then END_USER_CREDENTIALS is used for 3.0 and newer runtimes, and SERVICE_ACCOUNT is used for older runtimes.","Use service account credentials for authenticating to other services.","Use OAuth credentials associated with the workload creator/user for authenticating to other services."]}},"type":"object"},"AutotuningConfig":{"description":"Autotuning configuration of the workload.","properties":{"scenarios":{"description":"Optional. Scenarios for which tunings are applied.","items":{"enum":["SCENARIO_UNSPECIFIED","SCALING","BROADCAST_HASH_JOIN","MEMORY","NONE","AUTO"],"type":"string","x-google-enum-descriptions":["Default value.","Scaling recommendations such as initialExecutors.","Adding hints for potential relation broadcasts.","Memory management for workloads.","No autotuning.","Automatic selection of scenarios."]},"type":"array"}},"type":"object"},"CohortInfo":{"description":"Information about the cohort that the workload belongs to.","properties":{"cohort":{"description":"Output only. Final cohort that was used to tune the workload.","readOnly":true,"type":"string"},"cohortSource":{"description":"Output only. Source of the cohort.","enum":["COHORT_SOURCE_UNSPECIFIED","USER_PROVIDED","AIRFLOW"],"readOnly":true,"type":"string","x-google-enum-descriptions":["Cohort source is unspecified.","Indicates that the cohort was explicitly provided.","Composed from the labels coming from Airflow/Composer."]}},"type":"object"},"EnvironmentConfig":{"description":"Environment configuration for a workload.","properties":{"executionConfig":{"$ref":"#/$defs/ExecutionConfig","description":"Optional. Execution configuration for a workload."},"peripheralsConfig":{"$ref":"#/$defs/PeripheralsConfig","description":"Optional. Peripherals configuration that workload has access to."}},"type":"object"},"ExecutionConfig":{"description":"Execution configuration for a workload.","properties":{"authenticationConfig":{"$ref":"#/$defs/AuthenticationConfig","description":"Optional. Authentication configuration used to set the default identity for the workload execution. The config specifies the type of identity (service account or user) that will be used by workloads to access resources on the project(s)."},"idleTtl":{"description":"Optional. Applies to sessions only. The duration to keep the session alive while it's idling. Exceeding this threshold causes the session to terminate. This field cannot be set on a batch workload. Minimum value is 10 minutes; maximum value is 14 days (see JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). Defaults to 1 hour if not set. If both `ttl` and `idle_ttl` are specified for an interactive session, the conditions are treated as `OR` conditions: the workload will be terminated when it has been idle for `idle_ttl` or when `ttl` has been exceeded, whichever occurs first.","format":"google-duration","type":"string"},"kmsKey":{"description":"Optional. The Cloud KMS key to use for encryption.","type":"string"},"networkTags":{"description":"Optional. Tags used for network traffic control.","items":{"type":"string"},"type":"array"},"networkUri":{"description":"Optional. Network URI to connect workload to.","type":"string"},"resourceManagerTags":{"additionalProperties":{"type":"string"},"description":"Optional. Associates Resource Manager tags with the workload nodes. There is a max limit of 30 tags. Keys and values can be either in numeric format, such as `tagKeys/{tag_key_id}` and `tagValues/{tag_value_id}`, or in namespaced format, such as `{org_id|project_id}/{tag_key_short_name}` and `{tag_value_short_name}`.","type":"object"},"serviceAccount":{"description":"Optional. Service account that used to execute workload.","type":"string"},"stagingBucket":{"description":"Optional. A Cloud Storage bucket used to stage workload dependencies, config files, and store workload output and other ephemeral data, such as Spark history files. If you do not specify a staging bucket, Cloud Dataproc will determine a Cloud Storage location according to the region where your workload is running, and then create and manage project-level, per-location staging and temporary buckets. **This field requires a Cloud Storage bucket name, not a `gs://...` URI to a Cloud Storage bucket.**","type":"string"},"subnetworkUri":{"description":"Optional. Subnetwork URI to connect workload to.","type":"string"},"ttl":{"description":"Optional. The duration after which the workload will be terminated, specified as the JSON representation for [Duration](https://protobuf.dev/programming-guides/proto3/#json). When the workload exceeds this duration, it will be unconditionally terminated without waiting for ongoing work to finish. If `ttl` is not specified for a batch workload, the workload will be allowed to run until it exits naturally (or run forever without exiting). If `ttl` is not specified for an interactive session, it defaults to 24 hours. If `ttl` is not specified for a batch that uses 2.1+ runtime version, it defaults to 4 hours. Minimum value is 10 minutes; maximum value is 14 days. If both `ttl` and `idle_ttl` are specified (for an interactive session), the conditions are treated as `OR` conditions: the workload will be terminated when it has been idle for `idle_ttl` or when `ttl` has been exceeded, whichever occurs first.","format":"google-duration","type":"string"}},"type":"object"},"JupyterConfig":{"description":"Jupyter configuration for an interactive session.","properties":{"displayName":{"description":"Optional. Display name, shown in the Jupyter kernelspec card.","type":"string"},"kernel":{"description":"Optional. Kernel","enum":["KERNEL_UNSPECIFIED","PYTHON","SCALA"],"type":"string","x-google-enum-descriptions":["The kernel is unknown.","Python kernel.","Scala kernel."]}},"type":"object"},"PeripheralsConfig":{"description":"Auxiliary services configuration for a workload.","properties":{"metastoreService":{"description":"Optional. Resource name of an existing Dataproc Metastore service. Example: * `projects/[project_id]/locations/[region]/services/[service_id]`","type":"string"},"sparkHistoryServerConfig":{"$ref":"#/$defs/SparkHistoryServerConfig","description":"Optional. The Spark History Server configuration for the workload."}},"type":"object"},"PropertiesInfo":{"description":"Properties of the workload organized by origin.","properties":{"autotuningProperties":{"additionalProperties":{"$ref":"#/$defs/ValueInfo"},"description":"Output only. Properties set by autotuning engine.","readOnly":true,"type":"object"}},"type":"object"},"PyPiRepositoryConfig":{"description":"Configuration for PyPi repository","properties":{"pypiRepository":{"description":"Optional. The PyPi repository address. **Note: This field is not available for batch workloads.**","type":"string"}},"type":"object"},"RepositoryConfig":{"description":"Configuration for dependency repositories","properties":{"pypiRepositoryConfig":{"$ref":"#/$defs/PyPiRepositoryConfig","description":"Optional. Configuration for PyPi repository."}},"type":"object"},"RuntimeConfig":{"description":"Runtime configuration for a workload.","properties":{"autotuningConfig":{"$ref":"#/$defs/AutotuningConfig","description":"Optional. Autotuning configuration of the workload."},"cohort":{"description":"Optional. Cohort identifier. Identifies families of the workloads that have the same shape, for example, daily ETL jobs.","type":"string"},"containerImage":{"description":"Optional. Optional custom container image for the job runtime environment. If not specified, a default container image will be used.","type":"string"},"properties":{"additionalProperties":{"type":"string"},"description":"Optional. A mapping of property names to values, which are used to configure workload execution.","type":"object"},"repositoryConfig":{"$ref":"#/$defs/RepositoryConfig","description":"Optional. Dependency repository configuration."},"version":{"description":"Optional. Version of the batch runtime.","type":"string"}},"type":"object"},"RuntimeInfo":{"description":"Runtime information about workload execution.","properties":{"approximateUsage":{"$ref":"#/$defs/UsageMetrics","description":"Output only. Approximate workload resource usage, calculated when the workload completes (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing)). **Note:** This metric calculation may change in the future, for example, to capture cumulative workload resource consumption during workload execution (see the [Dataproc Serverless release notes] (https://cloud.google.com/dataproc-serverless/docs/release-notes) for announcements, changes, fixes and other Dataproc developments).","readOnly":true},"cohortInfo":{"$ref":"#/$defs/CohortInfo","description":"Output only. Information about the cohort that the workload belongs to.","readOnly":true},"currentUsage":{"$ref":"#/$defs/UsageSnapshot","description":"Output only. Snapshot of current workload resource usage.","readOnly":true},"diagnosticOutputUri":{"description":"Output only. A URI pointing to the location of the diagnostics tarball.","readOnly":true,"type":"string"},"endpoints":{"additionalProperties":{"type":"string"},"description":"Output only. Map of remote access endpoints (such as web interfaces and APIs) to their URIs.","readOnly":true,"type":"object"},"outputUri":{"description":"Output only. A URI pointing to the location of the stdout and stderr of the workload.","readOnly":true,"type":"string"},"propertiesInfo":{"$ref":"#/$defs/PropertiesInfo","description":"Optional. Properties of the workload organized by origin."}},"type":"object"},"Session":{"description":"A representation of a session.","properties":{"createTime":{"description":"Output only. The time when the session was created.","format":"date-time","readOnly":true,"type":"string"},"creator":{"description":"Output only. The email address of the user who created the session.","readOnly":true,"type":"string"},"environmentConfig":{"$ref":"#/$defs/EnvironmentConfig","description":"Optional. Environment configuration for the session execution."},"jupyterSession":{"$ref":"#/$defs/JupyterConfig","description":"Optional. Jupyter session config."},"labels":{"additionalProperties":{"type":"string"},"description":"Optional. The labels to associate with the session. Label **keys** must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). Label **values** may be empty, but, if present, must contain 1 to 63 characters, and must conform to [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be associated with a session.","type":"object"},"name":{"description":"Identifier. The resource name of the session.","type":"string","x-google-identifier":true},"runtimeConfig":{"$ref":"#/$defs/RuntimeConfig","description":"Optional. Runtime configuration for the session execution."},"runtimeInfo":{"$ref":"#/$defs/RuntimeInfo","description":"Output only. Runtime information about session execution.","readOnly":true},"sessionTemplate":{"description":"Optional. The session template used by the session. Only resource names, including project ID and location, are valid. Example: * `https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/sessionTemplates/[template_id]` * `projects/[project_id]/locations/[dataproc_region]/sessionTemplates/[template_id]` The template must be in the same project and Dataproc region as the session.","type":"string"},"sparkConnectSession":{"$ref":"#/$defs/SparkConnectConfig","description":"Optional. Spark connect session config."},"state":{"description":"Output only. A state of the session.","enum":["STATE_UNSPECIFIED","CREATING","ACTIVE","TERMINATING","TERMINATED","FAILED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["The session state is unknown.","The session is created prior to running.","The session is running.","The session is terminating.","The session is terminated successfully.","The session is no longer running due to an error."]},"stateHistory":{"description":"Output only. Historical state information for the session.","items":{"$ref":"#/$defs/SessionStateHistory"},"readOnly":true,"type":"array"},"stateMessage":{"description":"Output only. Session state details, such as the failure description if the state is `FAILED`.","readOnly":true,"type":"string"},"stateTime":{"description":"Output only. The time when the session entered the current state.","format":"date-time","readOnly":true,"type":"string"},"user":{"description":"Optional. The email address of the user who owns the session.","type":"string"},"uuid":{"description":"Output only. A session UUID (Unique Universal Identifier). The service generates this value when it creates the session.","readOnly":true,"type":"string"}},"type":"object"},"SessionStateHistory":{"description":"Historical state information.","properties":{"state":{"description":"Output only. The state of the session at this point in the session history.","enum":["STATE_UNSPECIFIED","CREATING","ACTIVE","TERMINATING","TERMINATED","FAILED"],"readOnly":true,"type":"string","x-google-enum-descriptions":["The session state is unknown.","The session is created prior to running.","The session is running.","The session is terminating.","The session is terminated successfully.","The session is no longer running due to an error."]},"stateMessage":{"description":"Output only. Details about the state at this point in the session history.","readOnly":true,"type":"string"},"stateStartTime":{"description":"Output only. The time when the session entered the historical state.","format":"date-time","readOnly":true,"type":"string"}},"type":"object"},"SparkConnectConfig":{"description":"Spark connect configuration for an interactive session.","properties":{},"type":"object"},"SparkHistoryServerConfig":{"description":"Spark History Server configuration for the workload.","properties":{"dataprocCluster":{"description":"Optional. Resource name of an existing Dataproc Cluster to act as a Spark History Server for the workload. Example: * `projects/[project_id]/regions/[region]/clusters/[cluster_name]`","type":"string"}},"type":"object"},"UsageMetrics":{"description":"Usage metrics represent approximate total resources consumed by a workload.","properties":{"acceleratorType":{"description":"Optional. Accelerator type being used, if any Deprecated: This field is only used in runtime versions below 3.0.","type":"string"},"milliAcceleratorSeconds":{"description":"Optional. Accelerator usage in (`milliAccelerator` x `seconds`) (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing)). Deprecated: This field is only used in runtime versions below 3.0.","format":"int64","type":"string"},"milliAcceleratorSecondsA10040":{"description":"Optional. A100-40 accelerator usage in (`milliAccelerator` x `seconds`) (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing)).","format":"int64","type":"string"},"milliAcceleratorSecondsA10080":{"description":"Optional. A100-80 accelerator usage in (`milliAccelerator` x `seconds`) (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing)).","format":"int64","type":"string"},"milliAcceleratorSecondsL4":{"description":"Optional. L4 accelerator usage in (`milliAccelerator` x `seconds`) (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing)).","format":"int64","type":"string"},"milliDcuSeconds":{"description":"Optional. DCU (Dataproc Compute Units) usage in (`milliDCU` x `seconds`) (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing)).","format":"int64","type":"string"},"shuffleStorageGbSeconds":{"description":"Optional. Shuffle storage usage in (`GB` x `seconds`) (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing)).","format":"int64","type":"string"},"updateTime":{"description":"Optional. The timestamp of the usage metrics.","format":"date-time","type":"string"}},"type":"object"},"UsageSnapshot":{"description":"The usage snapshot represents the resources consumed by a workload at a specified time.","properties":{"acceleratorType":{"description":"Optional. Accelerator type being used, if any Deprecated: This field is only used in runtime versions below 3.0.","type":"string"},"milliAccelerator":{"description":"Optional. Milli (one-thousandth) accelerator. (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing)) Deprecated: This field is only used in runtime versions below 3.0.","format":"int64","type":"string"},"milliAcceleratorA10040":{"description":"Optional. Milli (one-thousandth) accelerator for A100-40 accelerators. (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing))","format":"int64","type":"string"},"milliAcceleratorA10080":{"description":"Optional. Milli (one-thousandth) accelerator for A100-80 accelerators. (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing))","format":"int64","type":"string"},"milliAcceleratorL4":{"description":"Optional. Milli (one-thousandth) accelerator for L4 accelerators. (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing))","format":"int64","type":"string"},"milliDcu":{"description":"Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs) (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing)).","format":"int64","type":"string"},"milliDcuPremium":{"description":"Optional. Milli (one-thousandth) Dataproc Compute Units (DCUs) charged at premium tier (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing)).","format":"int64","type":"string"},"shuffleStorageGb":{"description":"Optional. Shuffle Storage in gigabytes (GB). (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing))","format":"int64","type":"string"},"shuffleStorageGbPremium":{"description":"Optional. Shuffle Storage in gigabytes (GB) charged at premium tier. (see [Dataproc Serverless pricing] (https://cloud.google.com/dataproc-serverless/pricing))","format":"int64","type":"string"},"snapshotTime":{"description":"Optional. The timestamp of the usage snapshot.","format":"date-time","type":"string"}},"type":"object"},"ValueInfo":{"description":"Annotatated property value.","properties":{"annotation":{"description":"Annotation, comment or explanation why the property was set.","type":"string"},"overriddenValue":{"description":"Optional. Value which was replaced by the corresponding component.","type":"string"},"value":{"description":"Property value.","type":"string"}},"type":"object"}},"description":"A request to create a session.","properties":{"parent":{"description":"Required. The parent resource where this session will be created.","type":"string"},"requestId":{"description":"Optional. A unique ID used to identify the request. If the service receives two [CreateSessionRequests](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateSessionRequest)s with the same ID, the second request is ignored, and the first Session is created and stored in the backend. Recommendation: Set this value to a [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). The value must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.","type":"string"},"session":{"$ref":"#/$defs/Session","description":"Required. The interactive session to create."},"sessionId":{"description":"Required. The ID to use for the session, which becomes the final component of the session's resource name. This value must be 4-63 characters. Valid characters are /a-z-/.","type":"string"}},"required":["parent","session","sessionId"],"type":"object"}},{"name":"delete_session","description":"Delete a Dataproc Session in a Google Cloud project","inputSchema":{"description":"A request to delete a session.","properties":{"name":{"description":"Required. The name of the session resource to delete.","type":"string"},"requestId":{"description":"Optional. A unique ID used to identify the request. If the service receives two [DeleteSessionRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.DeleteSessionRequest)s with the same ID, the second request is ignored. Recommendation: Set this value to a [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). The value must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.","type":"string"}},"required":["name"],"type":"object"}},{"name":"get_operation","description":"Gets the status of a long-running operation.\n\n***Usage***\nSome tools (for example, `create_cluster` and `delete_cluster`) return a long-running operation.\nYou can use this tool to get the status of the operation. It can be called repeatedly to\npoll the status of a long running operation\n\n**Parameters**\n*   `name`: The name of the operation to get.\n    * `name` should be the name returned by the tool that initiated the operation.\n    * `name` should be in the format of `projects/{project}/locations/{location}/operations/{operation}`.\n","inputSchema":{"description":"The request message for Operations.GetOperation.","properties":{"name":{"description":"The name of the operation resource.","type":"string"}},"type":"object"}},{"name":"analyze_batch_service","description":"Trigger automated diagnostic analysis for a Dataproc Batch.","inputSchema":{"description":"Request for analyzing a batch. This uses separate fields for project_id, batch_id, and region to make it easier for LLMs to construct the request reliably, compared to formatting a single resource name string.","properties":{"batchId":{"description":"Required. The Dataproc batch ID.","type":"string"},"projectId":{"description":"Required. The Google Cloud project ID.","type":"string"},"region":{"description":"Required. The Google Cloud region.","type":"string"}},"required":["projectId","batchId","region"],"type":"object"}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-24 03:43:22","lastCheckedAt":"2026-08-28 22:18:56","mcpAgentSnippet":{"type":"url","url":"https://dataproc.googleapis.com/mcp","name":"dataproc-googleapis-com-mcp"}},{"id":"mcp-francescoforesta-com-v1-mcp","name":"Path expansion from https://mcp.francescoforesta.com/mcp","description":"Path expansion from https://mcp.francescoforesta.com/mcp","url":"https://mcp.francescoforesta.com/v1/mcp","sourceUrl":"https://mcp.francescoforesta.com/mcp","transport":"http","specVersion":"2025-03-26","status":"active","validated":true,"score":97,"latencyP50":44,"toolCount":3,"tools":[{"name":"list_sections","description":"List all available CV sections with their descriptions. Call this first to discover what content is available before fetching or searching.","inputSchema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"get_section","description":"Get the full markdown content of a specific CV section by name. Use after list_sections or search to read detailed content. Valid names: profile, experience, work, tech, narrative.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Section name (e.g. 'profile', 'experience')."}},"required":["name"],"additionalProperties":false}},{"name":"search","description":"Full-text search across all CV sections. Returns matching snippets with section names and relevance scores (higher = more relevant). Use for open-ended questions where you don't know which section is relevant. Follow up with get_section if you need more context.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search query (FTS5 syntax supported)."},"top_k":{"type":"integer","description":"Maximum number of results (default 5).","default":5}},"required":["query"],"additionalProperties":false}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 08:05:59","lastCheckedAt":"2026-08-28 22:18:52","mcpAgentSnippet":{"type":"url","url":"https://mcp.francescoforesta.com/v1/mcp","name":"mcp-francescoforesta-com-v1-mcp"}},{"id":"mcp-francescoforesta-com-tools","name":"Path expansion from https://mcp.francescoforesta.com/mcp","description":"Path expansion from https://mcp.francescoforesta.com/mcp","url":"https://mcp.francescoforesta.com/tools","sourceUrl":"https://mcp.francescoforesta.com/mcp","transport":"http","specVersion":"2025-03-26","status":"active","validated":true,"score":98,"latencyP50":45,"toolCount":3,"tools":[{"name":"list_sections","description":"List all available CV sections with their descriptions. Call this first to discover what content is available before fetching or searching.","inputSchema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"get_section","description":"Get the full markdown content of a specific CV section by name. Use after list_sections or search to read detailed content. Valid names: profile, experience, work, tech, narrative.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Section name (e.g. 'profile', 'experience')."}},"required":["name"],"additionalProperties":false}},{"name":"search","description":"Full-text search across all CV sections. Returns matching snippets with section names and relevance scores (higher = more relevant). Use for open-ended questions where you don't know which section is relevant. Follow up with get_section if you need more context.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search query (FTS5 syntax supported)."},"top_k":{"type":"integer","description":"Maximum number of results (default 5).","default":5}},"required":["query"],"additionalProperties":false}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 08:05:59","lastCheckedAt":"2026-08-28 22:18:52","mcpAgentSnippet":{"type":"url","url":"https://mcp.francescoforesta.com/tools","name":"mcp-francescoforesta-com-tools"}},{"id":"mcp-francescoforesta-com-rpc","name":"Path expansion from https://mcp.francescoforesta.com/mcp","description":"Path expansion from https://mcp.francescoforesta.com/mcp","url":"https://mcp.francescoforesta.com/rpc","sourceUrl":"https://mcp.francescoforesta.com/mcp","transport":"http","specVersion":"2025-03-26","status":"active","validated":true,"score":98,"latencyP50":44,"toolCount":3,"tools":[{"name":"list_sections","description":"List all available CV sections with their descriptions. Call this first to discover what content is available before fetching or searching.","inputSchema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"get_section","description":"Get the full markdown content of a specific CV section by name. Use after list_sections or search to read detailed content. Valid names: profile, experience, work, tech, narrative.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Section name (e.g. 'profile', 'experience')."}},"required":["name"],"additionalProperties":false}},{"name":"search","description":"Full-text search across all CV sections. Returns matching snippets with section names and relevance scores (higher = more relevant). Use for open-ended questions where you don't know which section is relevant. Follow up with get_section if you need more context.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search query (FTS5 syntax supported)."},"top_k":{"type":"integer","description":"Maximum number of results (default 5).","default":5}},"required":["query"],"additionalProperties":false}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 08:05:59","lastCheckedAt":"2026-08-28 22:18:52","mcpAgentSnippet":{"type":"url","url":"https://mcp.francescoforesta.com/rpc","name":"mcp-francescoforesta-com-rpc"}},{"id":"mcp-francescoforesta-com","name":"Subdomain expansion: mcp.francescoforesta.com","description":"Subdomain expansion: mcp.francescoforesta.com","url":"https://mcp.francescoforesta.com/","sourceUrl":"https://francescoforesta.com/","transport":"http","specVersion":"2025-03-26","status":"active","validated":true,"score":98,"latencyP50":41,"toolCount":3,"tools":[{"name":"list_sections","description":"List all available CV sections with their descriptions. Call this first to discover what content is available before fetching or searching.","inputSchema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"get_section","description":"Get the full markdown content of a specific CV section by name. Use after list_sections or search to read detailed content. Valid names: profile, experience, work, tech, narrative.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Section name (e.g. 'profile', 'experience')."}},"required":["name"],"additionalProperties":false}},{"name":"search","description":"Full-text search across all CV sections. Returns matching snippets with section names and relevance scores (higher = more relevant). Use for open-ended questions where you don't know which section is relevant. Follow up with get_section if you need more context.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search query (FTS5 syntax supported)."},"top_k":{"type":"integer","description":"Maximum number of results (default 5).","default":5}},"required":["query"],"additionalProperties":false}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 08:06:01","lastCheckedAt":"2026-08-28 22:18:52","mcpAgentSnippet":{"type":"url","url":"https://mcp.francescoforesta.com/","name":"mcp-francescoforesta-com"}},{"id":"mcp-francescoforesta-com-well-known-mcp","name":"Path expansion from https://mcp.francescoforesta.com/mcp","description":"Path expansion from https://mcp.francescoforesta.com/mcp","url":"https://mcp.francescoforesta.com/.well-known/mcp","sourceUrl":"https://mcp.francescoforesta.com/mcp","transport":"http","specVersion":"2025-03-26","status":"active","validated":true,"score":97,"latencyP50":49,"toolCount":3,"tools":[{"name":"list_sections","description":"List all available CV sections with their descriptions. Call this first to discover what content is available before fetching or searching.","inputSchema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"get_section","description":"Get the full markdown content of a specific CV section by name. Use after list_sections or search to read detailed content. Valid names: profile, experience, work, tech, narrative.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Section name (e.g. 'profile', 'experience')."}},"required":["name"],"additionalProperties":false}},{"name":"search","description":"Full-text search across all CV sections. Returns matching snippets with section names and relevance scores (higher = more relevant). Use for open-ended questions where you don't know which section is relevant. Follow up with get_section if you need more context.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search query (FTS5 syntax supported)."},"top_k":{"type":"integer","description":"Maximum number of results (default 5).","default":5}},"required":["query"],"additionalProperties":false}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 08:05:59","lastCheckedAt":"2026-08-28 22:18:51","mcpAgentSnippet":{"type":"url","url":"https://mcp.francescoforesta.com/.well-known/mcp","name":"mcp-francescoforesta-com-well-known-mcp"}},{"id":"sklearn-central-mcp-probabl-workers-dev-rpc","name":"Path expansion from https://sklearn-central-mcp.probabl.workers.dev/mcp","description":"Path expansion from https://sklearn-central-mcp.probabl.workers.dev/mcp","url":"https://sklearn-central-mcp.probabl.workers.dev/rpc","sourceUrl":"https://sklearn-central-mcp.probabl.workers.dev/mcp","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":98,"latencyP50":44,"toolCount":4,"tools":[{"name":"search_use_cases","description":"Search the scikit-learn Central use case library. Returns ranked matches with metadata. Use this when the user describes a machine learning problem, application field, problem type, or data type they want to implement in Python.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Free-text description of the ML problem (e.g. 'fraud detection for banking', 'predict customer churn')"},"application_field":{"type":"string","description":"Filter by application field. Valid values: e-commerce, insurance, real-estate"},"problem_type":{"type":"string","description":"Filter by problem type. Valid values: classification, regression"},"data_type":{"type":"string","description":"Filter by data type. Valid values: tabular, text"},"difficulty":{"type":"string","enum":["beginner","intermediate","advanced"],"description":"Filter by difficulty level"},"limit":{"type":"integer","description":"Maximum results to return (default 3, max 10)","default":3}}}},{"name":"get_use_case","description":"Get full details and the complete runnable Python source code for a specific use case. Call this after search_use_cases to retrieve the code example.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"UUID or slug of the use case (from search_use_cases results)"}},"required":["id"]}},{"name":"list_packages","description":"List packages in the scikit-learn ecosystem catalog with descriptions and tags. Use when the user asks what libraries are available for a task, or what a specific package (e.g. skrub, skore) does.","inputSchema":{"type":"object","properties":{"tag":{"type":"string","description":"Filter by tag (e.g. 'time-series', 'explainability', 'categorical-encoding', 'evaluation')"},"query":{"type":"string","description":"Free-text filter against package name and description"}}}},{"name":"list_taxonomy","description":"Returns all valid taxonomy values: application fields, problem types, data types, and package IDs. Call this first to discover what filter values are available before calling search_use_cases.","inputSchema":{"type":"object","properties":{}}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 08:05:59","lastCheckedAt":"2026-08-28 22:18:18","mcpAgentSnippet":{"type":"url","url":"https://sklearn-central-mcp.probabl.workers.dev/rpc","name":"sklearn-central-mcp-probabl-workers-dev-rpc"}},{"id":"sklearn-central-mcp-probabl-workers-dev-tools","name":"Path expansion from https://sklearn-central-mcp.probabl.workers.dev/mcp","description":"Path expansion from https://sklearn-central-mcp.probabl.workers.dev/mcp","url":"https://sklearn-central-mcp.probabl.workers.dev/tools","sourceUrl":"https://sklearn-central-mcp.probabl.workers.dev/mcp","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":98,"latencyP50":42,"toolCount":4,"tools":[{"name":"search_use_cases","description":"Search the scikit-learn Central use case library. Returns ranked matches with metadata. Use this when the user describes a machine learning problem, application field, problem type, or data type they want to implement in Python.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Free-text description of the ML problem (e.g. 'fraud detection for banking', 'predict customer churn')"},"application_field":{"type":"string","description":"Filter by application field. Valid values: e-commerce, insurance, real-estate"},"problem_type":{"type":"string","description":"Filter by problem type. Valid values: classification, regression"},"data_type":{"type":"string","description":"Filter by data type. Valid values: tabular, text"},"difficulty":{"type":"string","enum":["beginner","intermediate","advanced"],"description":"Filter by difficulty level"},"limit":{"type":"integer","description":"Maximum results to return (default 3, max 10)","default":3}}}},{"name":"get_use_case","description":"Get full details and the complete runnable Python source code for a specific use case. Call this after search_use_cases to retrieve the code example.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"UUID or slug of the use case (from search_use_cases results)"}},"required":["id"]}},{"name":"list_packages","description":"List packages in the scikit-learn ecosystem catalog with descriptions and tags. Use when the user asks what libraries are available for a task, or what a specific package (e.g. skrub, skore) does.","inputSchema":{"type":"object","properties":{"tag":{"type":"string","description":"Filter by tag (e.g. 'time-series', 'explainability', 'categorical-encoding', 'evaluation')"},"query":{"type":"string","description":"Free-text filter against package name and description"}}}},{"name":"list_taxonomy","description":"Returns all valid taxonomy values: application fields, problem types, data types, and package IDs. Call this first to discover what filter values are available before calling search_use_cases.","inputSchema":{"type":"object","properties":{}}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 08:05:59","lastCheckedAt":"2026-08-28 22:18:18","mcpAgentSnippet":{"type":"url","url":"https://sklearn-central-mcp.probabl.workers.dev/tools","name":"sklearn-central-mcp-probabl-workers-dev-tools"}},{"id":"sklearn-central-mcp-probabl-workers-dev-api-mcp","name":"Path expansion from https://sklearn-central-mcp.probabl.workers.dev/mcp","description":"Path expansion from https://sklearn-central-mcp.probabl.workers.dev/mcp","url":"https://sklearn-central-mcp.probabl.workers.dev/api/mcp","sourceUrl":"https://sklearn-central-mcp.probabl.workers.dev/mcp","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":98,"latencyP50":45,"toolCount":4,"tools":[{"name":"search_use_cases","description":"Search the scikit-learn Central use case library. Returns ranked matches with metadata. Use this when the user describes a machine learning problem, application field, problem type, or data type they want to implement in Python.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Free-text description of the ML problem (e.g. 'fraud detection for banking', 'predict customer churn')"},"application_field":{"type":"string","description":"Filter by application field. Valid values: e-commerce, insurance, real-estate"},"problem_type":{"type":"string","description":"Filter by problem type. Valid values: classification, regression"},"data_type":{"type":"string","description":"Filter by data type. Valid values: tabular, text"},"difficulty":{"type":"string","enum":["beginner","intermediate","advanced"],"description":"Filter by difficulty level"},"limit":{"type":"integer","description":"Maximum results to return (default 3, max 10)","default":3}}}},{"name":"get_use_case","description":"Get full details and the complete runnable Python source code for a specific use case. Call this after search_use_cases to retrieve the code example.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"UUID or slug of the use case (from search_use_cases results)"}},"required":["id"]}},{"name":"list_packages","description":"List packages in the scikit-learn ecosystem catalog with descriptions and tags. Use when the user asks what libraries are available for a task, or what a specific package (e.g. skrub, skore) does.","inputSchema":{"type":"object","properties":{"tag":{"type":"string","description":"Filter by tag (e.g. 'time-series', 'explainability', 'categorical-encoding', 'evaluation')"},"query":{"type":"string","description":"Free-text filter against package name and description"}}}},{"name":"list_taxonomy","description":"Returns all valid taxonomy values: application fields, problem types, data types, and package IDs. Call this first to discover what filter values are available before calling search_use_cases.","inputSchema":{"type":"object","properties":{}}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 08:05:59","lastCheckedAt":"2026-08-28 22:18:17","mcpAgentSnippet":{"type":"url","url":"https://sklearn-central-mcp.probabl.workers.dev/api/mcp","name":"sklearn-central-mcp-probabl-workers-dev-api-mcp"}},{"id":"sklearn-central-mcp-probabl-workers-dev-mcp-json","name":"Path expansion from https://sklearn-central-mcp.probabl.workers.dev/mcp","description":"Path expansion from https://sklearn-central-mcp.probabl.workers.dev/mcp","url":"https://sklearn-central-mcp.probabl.workers.dev/mcp.json","sourceUrl":"https://sklearn-central-mcp.probabl.workers.dev/mcp","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":98,"latencyP50":48,"toolCount":4,"tools":[{"name":"search_use_cases","description":"Search the scikit-learn Central use case library. Returns ranked matches with metadata. Use this when the user describes a machine learning problem, application field, problem type, or data type they want to implement in Python.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Free-text description of the ML problem (e.g. 'fraud detection for banking', 'predict customer churn')"},"application_field":{"type":"string","description":"Filter by application field. Valid values: e-commerce, insurance, real-estate"},"problem_type":{"type":"string","description":"Filter by problem type. Valid values: classification, regression"},"data_type":{"type":"string","description":"Filter by data type. Valid values: tabular, text"},"difficulty":{"type":"string","enum":["beginner","intermediate","advanced"],"description":"Filter by difficulty level"},"limit":{"type":"integer","description":"Maximum results to return (default 3, max 10)","default":3}}}},{"name":"get_use_case","description":"Get full details and the complete runnable Python source code for a specific use case. Call this after search_use_cases to retrieve the code example.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"UUID or slug of the use case (from search_use_cases results)"}},"required":["id"]}},{"name":"list_packages","description":"List packages in the scikit-learn ecosystem catalog with descriptions and tags. Use when the user asks what libraries are available for a task, or what a specific package (e.g. skrub, skore) does.","inputSchema":{"type":"object","properties":{"tag":{"type":"string","description":"Filter by tag (e.g. 'time-series', 'explainability', 'categorical-encoding', 'evaluation')"},"query":{"type":"string","description":"Free-text filter against package name and description"}}}},{"name":"list_taxonomy","description":"Returns all valid taxonomy values: application fields, problem types, data types, and package IDs. Call this first to discover what filter values are available before calling search_use_cases.","inputSchema":{"type":"object","properties":{}}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 08:05:59","lastCheckedAt":"2026-08-28 22:18:17","mcpAgentSnippet":{"type":"url","url":"https://sklearn-central-mcp.probabl.workers.dev/mcp.json","name":"sklearn-central-mcp-probabl-workers-dev-mcp-json"}},{"id":"sklearn-central-mcp-probabl-workers-dev-well-known-mcp","name":"Path expansion from https://sklearn-central-mcp.probabl.workers.dev/mcp","description":"Path expansion from https://sklearn-central-mcp.probabl.workers.dev/mcp","url":"https://sklearn-central-mcp.probabl.workers.dev/.well-known/mcp","sourceUrl":"https://sklearn-central-mcp.probabl.workers.dev/mcp","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":98,"latencyP50":45,"toolCount":4,"tools":[{"name":"search_use_cases","description":"Search the scikit-learn Central use case library. Returns ranked matches with metadata. Use this when the user describes a machine learning problem, application field, problem type, or data type they want to implement in Python.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Free-text description of the ML problem (e.g. 'fraud detection for banking', 'predict customer churn')"},"application_field":{"type":"string","description":"Filter by application field. Valid values: e-commerce, insurance, real-estate"},"problem_type":{"type":"string","description":"Filter by problem type. Valid values: classification, regression"},"data_type":{"type":"string","description":"Filter by data type. Valid values: tabular, text"},"difficulty":{"type":"string","enum":["beginner","intermediate","advanced"],"description":"Filter by difficulty level"},"limit":{"type":"integer","description":"Maximum results to return (default 3, max 10)","default":3}}}},{"name":"get_use_case","description":"Get full details and the complete runnable Python source code for a specific use case. Call this after search_use_cases to retrieve the code example.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"UUID or slug of the use case (from search_use_cases results)"}},"required":["id"]}},{"name":"list_packages","description":"List packages in the scikit-learn ecosystem catalog with descriptions and tags. Use when the user asks what libraries are available for a task, or what a specific package (e.g. skrub, skore) does.","inputSchema":{"type":"object","properties":{"tag":{"type":"string","description":"Filter by tag (e.g. 'time-series', 'explainability', 'categorical-encoding', 'evaluation')"},"query":{"type":"string","description":"Free-text filter against package name and description"}}}},{"name":"list_taxonomy","description":"Returns all valid taxonomy values: application fields, problem types, data types, and package IDs. Call this first to discover what filter values are available before calling search_use_cases.","inputSchema":{"type":"object","properties":{}}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 08:05:59","lastCheckedAt":"2026-08-28 22:18:17","mcpAgentSnippet":{"type":"url","url":"https://sklearn-central-mcp.probabl.workers.dev/.well-known/mcp","name":"sklearn-central-mcp-probabl-workers-dev-well-known-mcp"}},{"id":"preflight-skillfoundry-workers-dev-mcp-json","name":"Path expansion from https://preflight.skillfoundry.workers.dev/mcp","description":"Path expansion from https://preflight.skillfoundry.workers.dev/mcp","url":"https://preflight.skillfoundry.workers.dev/mcp.json","sourceUrl":"https://preflight.skillfoundry.workers.dev/mcp","transport":"http","specVersion":"2025-11-25","status":"active","validated":true,"score":97,"latencyP50":78,"toolCount":1,"tools":[{"name":"check_publish_readiness","description":"Validate whether an MCP server is publishable on real directories (MCP Registry, Smithery, npm). Provide raw artifact contents. Returns evidence-backed findings with source-linked directory rules.","inputSchema":{"type":"object","properties":{"manifest":{"type":"string","description":"Raw server.json content"},"package_json":{"type":"string","description":"Raw package.json content"},"smithery_yaml":{"type":"string","description":"Raw smithery.yaml content"},"pyproject_toml":{"type":"string","description":"Raw pyproject.toml content"},"readme":{"type":"string","description":"Raw README content"},"target_directories":{"type":"array","items":{"type":"string","enum":["mcp_registry","smithery","npm"]},"description":"Directories to check against. Defaults to all applicable."}}}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 08:05:58","lastCheckedAt":"2026-08-28 22:18:11","mcpAgentSnippet":{"type":"url","url":"https://preflight.skillfoundry.workers.dev/mcp.json","name":"preflight-skillfoundry-workers-dev-mcp-json"}},{"id":"gleam-package-mcp-renata-amutio-workers-dev-tools","name":"Path expansion from https://gleam-package-mcp.renata-amutio.workers.dev/","description":"Path expansion from https://gleam-package-mcp.renata-amutio.workers.dev/","url":"https://gleam-package-mcp.renata-amutio.workers.dev/tools","sourceUrl":"https://gleam-package-mcp.renata-amutio.workers.dev/","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":97,"latencyP50":51,"toolCount":7,"tools":[{"name":"search_packages","description":"Search for Gleam packages on hex.pm by name or description","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search query for package name or description"}},"required":["query"]}},{"name":"get_package_info","description":"Get detailed information about a specific package from hex.pm","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package"}},"required":["package_name"]}},{"name":"get_modules","description":"Get a list of all modules in a package with their documentation. Fetches from hexdocs.pm","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package"}},"required":["package_name"]}},{"name":"get_module_info","description":"Get detailed information about a specific module including functions and types","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package containing the module"},"module_name":{"type":"string","description":"Name of the module (e.g., 'gleam/list')"}},"required":["package_name","module_name"]}},{"name":"search_functions","description":"Search for functions within a package by name or documentation","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package to search in"},"query":{"type":"string","description":"Search query to match against function names and documentation"}},"required":["package_name","query"]}},{"name":"search_types","description":"Search for types within a package by name or documentation","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package to search in"},"query":{"type":"string","description":"Search query to match against type names and documentation"}},"required":["package_name","query"]}},{"name":"get_package_releases","description":"Get all releases for a package with version history and retirement info","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package"}},"required":["package_name"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 07:29:17","lastCheckedAt":"2026-08-28 22:18:10","mcpAgentSnippet":{"type":"url","url":"https://gleam-package-mcp.renata-amutio.workers.dev/tools","name":"gleam-package-mcp-renata-amutio-workers-dev-tools"}},{"id":"kinetic-icons-mcp-server-raspy-hill-ac75-workers-dev-rpc","name":"Path expansion from https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev","description":"Path expansion from https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev/sse","url":"https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev/rpc","sourceUrl":"https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev/sse","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":97,"latencyP50":87,"toolCount":5,"tools":[{"name":"list_icons","description":"List all available icons in the Kinetic Icons library","inputSchema":{"type":"object","properties":{"category":{"type":"string","description":"Filter icons by category (optional). Options: all, line, solid","enum":["all","line","solid"]}}}},{"name":"search_icons","description":"Search for icons by keyword","inputSchema":{"type":"object","properties":{"keyword":{"type":"string","description":"Keyword to search for in icon names"}},"required":["keyword"]}},{"name":"get_icon_config","description":"Get configuration options for the Kinetic Icons","inputSchema":{"type":"object"}},{"name":"get_best_practices","description":"Get best practices for using Kinetic Icons","inputSchema":{"type":"object"}},{"name":"get_icon_usage_example","description":"Get usage examples for a specific icon","inputSchema":{"type":"object","properties":{"iconName":{"type":"string","description":"Name of the icon to get examples for"}},"required":["iconName"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 07:29:17","lastCheckedAt":"2026-08-28 22:18:10","mcpAgentSnippet":{"type":"url","url":"https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev/rpc","name":"kinetic-icons-mcp-server-raspy-hill-ac75-workers-dev-rpc"}},{"id":"kinetic-icons-mcp-server-raspy-hill-ac75-workers-dev-well-known-mcp","name":"Path expansion from https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev","description":"Path expansion from https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev/sse","url":"https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev/.well-known/mcp","sourceUrl":"https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev/sse","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":98,"latencyP50":40,"toolCount":5,"tools":[{"name":"list_icons","description":"List all available icons in the Kinetic Icons library","inputSchema":{"type":"object","properties":{"category":{"type":"string","description":"Filter icons by category (optional). Options: all, line, solid","enum":["all","line","solid"]}}}},{"name":"search_icons","description":"Search for icons by keyword","inputSchema":{"type":"object","properties":{"keyword":{"type":"string","description":"Keyword to search for in icon names"}},"required":["keyword"]}},{"name":"get_icon_config","description":"Get configuration options for the Kinetic Icons","inputSchema":{"type":"object"}},{"name":"get_best_practices","description":"Get best practices for using Kinetic Icons","inputSchema":{"type":"object"}},{"name":"get_icon_usage_example","description":"Get usage examples for a specific icon","inputSchema":{"type":"object","properties":{"iconName":{"type":"string","description":"Name of the icon to get examples for"}},"required":["iconName"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 07:29:17","lastCheckedAt":"2026-08-28 22:18:05","mcpAgentSnippet":{"type":"url","url":"https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev/.well-known/mcp","name":"kinetic-icons-mcp-server-raspy-hill-ac75-workers-dev-well-known-mcp"}},{"id":"gleam-package-mcp-renata-amutio-workers-dev-v1-mcp","name":"Path expansion from https://gleam-package-mcp.renata-amutio.workers.dev/","description":"Path expansion from https://gleam-package-mcp.renata-amutio.workers.dev/","url":"https://gleam-package-mcp.renata-amutio.workers.dev/v1/mcp","sourceUrl":"https://gleam-package-mcp.renata-amutio.workers.dev/","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":97,"latencyP50":44,"toolCount":7,"tools":[{"name":"search_packages","description":"Search for Gleam packages on hex.pm by name or description","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search query for package name or description"}},"required":["query"]}},{"name":"get_package_info","description":"Get detailed information about a specific package from hex.pm","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package"}},"required":["package_name"]}},{"name":"get_modules","description":"Get a list of all modules in a package with their documentation. Fetches from hexdocs.pm","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package"}},"required":["package_name"]}},{"name":"get_module_info","description":"Get detailed information about a specific module including functions and types","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package containing the module"},"module_name":{"type":"string","description":"Name of the module (e.g., 'gleam/list')"}},"required":["package_name","module_name"]}},{"name":"search_functions","description":"Search for functions within a package by name or documentation","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package to search in"},"query":{"type":"string","description":"Search query to match against function names and documentation"}},"required":["package_name","query"]}},{"name":"search_types","description":"Search for types within a package by name or documentation","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package to search in"},"query":{"type":"string","description":"Search query to match against type names and documentation"}},"required":["package_name","query"]}},{"name":"get_package_releases","description":"Get all releases for a package with version history and retirement info","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package"}},"required":["package_name"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 07:29:17","lastCheckedAt":"2026-08-28 22:18:04","mcpAgentSnippet":{"type":"url","url":"https://gleam-package-mcp.renata-amutio.workers.dev/v1/mcp","name":"gleam-package-mcp-renata-amutio-workers-dev-v1-mcp"}},{"id":"gleam-package-mcp-renata-amutio-workers-dev-mcp-json","name":"Path expansion from https://gleam-package-mcp.renata-amutio.workers.dev/","description":"Path expansion from https://gleam-package-mcp.renata-amutio.workers.dev/","url":"https://gleam-package-mcp.renata-amutio.workers.dev/mcp.json","sourceUrl":"https://gleam-package-mcp.renata-amutio.workers.dev/","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":97,"latencyP50":43,"toolCount":7,"tools":[{"name":"search_packages","description":"Search for Gleam packages on hex.pm by name or description","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search query for package name or description"}},"required":["query"]}},{"name":"get_package_info","description":"Get detailed information about a specific package from hex.pm","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package"}},"required":["package_name"]}},{"name":"get_modules","description":"Get a list of all modules in a package with their documentation. Fetches from hexdocs.pm","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package"}},"required":["package_name"]}},{"name":"get_module_info","description":"Get detailed information about a specific module including functions and types","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package containing the module"},"module_name":{"type":"string","description":"Name of the module (e.g., 'gleam/list')"}},"required":["package_name","module_name"]}},{"name":"search_functions","description":"Search for functions within a package by name or documentation","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package to search in"},"query":{"type":"string","description":"Search query to match against function names and documentation"}},"required":["package_name","query"]}},{"name":"search_types","description":"Search for types within a package by name or documentation","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package to search in"},"query":{"type":"string","description":"Search query to match against type names and documentation"}},"required":["package_name","query"]}},{"name":"get_package_releases","description":"Get all releases for a package with version history and retirement info","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package"}},"required":["package_name"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 07:29:17","lastCheckedAt":"2026-08-28 22:18:04","mcpAgentSnippet":{"type":"url","url":"https://gleam-package-mcp.renata-amutio.workers.dev/mcp.json","name":"gleam-package-mcp-renata-amutio-workers-dev-mcp-json"}},{"id":"gleam-package-mcp-renata-amutio-workers-dev-well-known-mcp","name":"Path expansion from https://gleam-package-mcp.renata-amutio.workers.dev/","description":"Path expansion from https://gleam-package-mcp.renata-amutio.workers.dev/","url":"https://gleam-package-mcp.renata-amutio.workers.dev/.well-known/mcp","sourceUrl":"https://gleam-package-mcp.renata-amutio.workers.dev/","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":96,"latencyP50":91,"toolCount":7,"tools":[{"name":"search_packages","description":"Search for Gleam packages on hex.pm by name or description","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search query for package name or description"}},"required":["query"]}},{"name":"get_package_info","description":"Get detailed information about a specific package from hex.pm","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package"}},"required":["package_name"]}},{"name":"get_modules","description":"Get a list of all modules in a package with their documentation. Fetches from hexdocs.pm","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package"}},"required":["package_name"]}},{"name":"get_module_info","description":"Get detailed information about a specific module including functions and types","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package containing the module"},"module_name":{"type":"string","description":"Name of the module (e.g., 'gleam/list')"}},"required":["package_name","module_name"]}},{"name":"search_functions","description":"Search for functions within a package by name or documentation","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package to search in"},"query":{"type":"string","description":"Search query to match against function names and documentation"}},"required":["package_name","query"]}},{"name":"search_types","description":"Search for types within a package by name or documentation","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package to search in"},"query":{"type":"string","description":"Search query to match against type names and documentation"}},"required":["package_name","query"]}},{"name":"get_package_releases","description":"Get all releases for a package with version history and retirement info","inputSchema":{"type":"object","properties":{"package_name":{"type":"string","description":"Name of the package"}},"required":["package_name"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 07:29:17","lastCheckedAt":"2026-08-28 22:18:04","mcpAgentSnippet":{"type":"url","url":"https://gleam-package-mcp.renata-amutio.workers.dev/.well-known/mcp","name":"gleam-package-mcp-renata-amutio-workers-dev-well-known-mcp"}},{"id":"kinetic-icons-mcp-server-raspy-hill-ac75-workers-dev-api-mcp","name":"Path expansion from https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev","description":"Path expansion from https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev/sse","url":"https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev/api/mcp","sourceUrl":"https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev/sse","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":97,"latencyP50":83,"toolCount":5,"tools":[{"name":"list_icons","description":"List all available icons in the Kinetic Icons library","inputSchema":{"type":"object","properties":{"category":{"type":"string","description":"Filter icons by category (optional). Options: all, line, solid","enum":["all","line","solid"]}}}},{"name":"search_icons","description":"Search for icons by keyword","inputSchema":{"type":"object","properties":{"keyword":{"type":"string","description":"Keyword to search for in icon names"}},"required":["keyword"]}},{"name":"get_icon_config","description":"Get configuration options for the Kinetic Icons","inputSchema":{"type":"object"}},{"name":"get_best_practices","description":"Get best practices for using Kinetic Icons","inputSchema":{"type":"object"}},{"name":"get_icon_usage_example","description":"Get usage examples for a specific icon","inputSchema":{"type":"object","properties":{"iconName":{"type":"string","description":"Name of the icon to get examples for"}},"required":["iconName"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 07:29:17","lastCheckedAt":"2026-08-28 22:18:04","mcpAgentSnippet":{"type":"url","url":"https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev/api/mcp","name":"kinetic-icons-mcp-server-raspy-hill-ac75-workers-dev-api-mcp"}},{"id":"kinetic-icons-mcp-server-raspy-hill-ac75-workers-dev-v1-mcp","name":"Path expansion from https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev","description":"Path expansion from https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev/sse","url":"https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev/v1/mcp","sourceUrl":"https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev/sse","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":97,"latencyP50":39,"toolCount":5,"tools":[{"name":"list_icons","description":"List all available icons in the Kinetic Icons library","inputSchema":{"type":"object","properties":{"category":{"type":"string","description":"Filter icons by category (optional). Options: all, line, solid","enum":["all","line","solid"]}}}},{"name":"search_icons","description":"Search for icons by keyword","inputSchema":{"type":"object","properties":{"keyword":{"type":"string","description":"Keyword to search for in icon names"}},"required":["keyword"]}},{"name":"get_icon_config","description":"Get configuration options for the Kinetic Icons","inputSchema":{"type":"object"}},{"name":"get_best_practices","description":"Get best practices for using Kinetic Icons","inputSchema":{"type":"object"}},{"name":"get_icon_usage_example","description":"Get usage examples for a specific icon","inputSchema":{"type":"object","properties":{"iconName":{"type":"string","description":"Name of the icon to get examples for"}},"required":["iconName"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 07:29:17","lastCheckedAt":"2026-08-28 22:18:04","mcpAgentSnippet":{"type":"url","url":"https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev/v1/mcp","name":"kinetic-icons-mcp-server-raspy-hill-ac75-workers-dev-v1-mcp"}},{"id":"kinetic-icons-mcp-server-raspy-hill-ac75-workers-dev-mcp-json","name":"Path expansion from https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev","description":"Path expansion from https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev/sse","url":"https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev/mcp.json","sourceUrl":"https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev/sse","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":98,"latencyP50":37,"toolCount":5,"tools":[{"name":"list_icons","description":"List all available icons in the Kinetic Icons library","inputSchema":{"type":"object","properties":{"category":{"type":"string","description":"Filter icons by category (optional). Options: all, line, solid","enum":["all","line","solid"]}}}},{"name":"search_icons","description":"Search for icons by keyword","inputSchema":{"type":"object","properties":{"keyword":{"type":"string","description":"Keyword to search for in icon names"}},"required":["keyword"]}},{"name":"get_icon_config","description":"Get configuration options for the Kinetic Icons","inputSchema":{"type":"object"}},{"name":"get_best_practices","description":"Get best practices for using Kinetic Icons","inputSchema":{"type":"object"}},{"name":"get_icon_usage_example","description":"Get usage examples for a specific icon","inputSchema":{"type":"object","properties":{"iconName":{"type":"string","description":"Name of the icon to get examples for"}},"required":["iconName"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 07:29:17","lastCheckedAt":"2026-08-28 22:18:04","mcpAgentSnippet":{"type":"url","url":"https://kinetic-icons-mcp-server.raspy-hill-ac75.workers.dev/mcp.json","name":"kinetic-icons-mcp-server-raspy-hill-ac75-workers-dev-mcp-json"}},{"id":"remote-aiai-tianyi-han-workers-dev-sse","name":"Cloudflare Workers MCP endpoint from hant916/Ailuros","description":"Cloudflare Workers MCP endpoint from hant916/Ailuros","url":"https://remote-aiai.tianyi-han.workers.dev/sse","sourceUrl":"https://github.com/hant916/Ailuros/blob/main/docs/POSTMAN_COLLECTION_GUIDE.md","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":96,"latencyP50":53,"toolCount":2,"tools":[{"name":"add","description":"Add two numbers together","inputSchema":{"type":"object","properties":{"a":{"type":"number","description":"First number"},"b":{"type":"number","description":"Second number"}},"required":["a","b"]}},{"name":"calculate","description":"Perform basic mathematical operations (add, subtract, multiply, divide)","inputSchema":{"type":"object","properties":{"operation":{"type":"string","enum":["add","subtract","multiply","divide"],"description":"Mathematical operation to perform"},"a":{"type":"number","description":"First number"},"b":{"type":"number","description":"Second number"}},"required":["operation","a","b"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-28 00:42:17","lastCheckedAt":"2026-08-28 22:18:03","mcpAgentSnippet":{"type":"url","url":"https://remote-aiai.tianyi-han.workers.dev/sse","name":"remote-aiai-tianyi-han-workers-dev-sse"}},{"id":"mcp-robtex-com-v1-mcp","name":"Path expansion from https://mcp.robtex.com/mcp","description":"Path expansion from https://mcp.robtex.com/mcp","url":"https://mcp.robtex.com/v1/mcp","sourceUrl":"https://mcp.robtex.com/mcp","transport":"http","specVersion":"2025-06-18","status":"active","validated":true,"score":96,"latencyP50":86,"toolCount":46,"tools":[{"name":"latest_lightning_channels","description":"Returns the most recently opened Lightning Network channels, sorted by open time descending.","inputSchema":{"type":"object","properties":{"count":{"type":"integer","description":"Number of channels to return (1-1000)","default":10,"minimum":1,"maximum":1000,"examples":[10]}},"required":[],"additionalProperties":false}},{"name":"ip_reputation","description":"Check an IP address reputation against 100+ real-time blocklists (DNSBLs). Returns listing status, threat categories, AS info, and blocklist details.","inputSchema":{"type":"object","properties":{"ip":{"type":"string","description":"IPv4 or IPv6 address to check (e.g., 8.8.8.8, 2001:4860:4860::8888)","examples":["8.8.8.8"]}},"required":["ip"],"additionalProperties":false}},{"name":"lookup_dns","description":"Lookup DNS records (A, AAAA, MX, NS, TXT, CNAME, SOA) for a given hostname. Also returns domain reputation info (Majestic, Tranco rankings, blocklist status).","inputSchema":{"type":"object","properties":{"hostname":{"type":"string","description":"Hostname or domain to lookup (e.g., example.com, www.example.com)","examples":["google.com"]}},"required":["hostname"],"additionalProperties":false}},{"name":"reverse_lookup_dns_records","description":"Find hostnames that use a specific DNS record value. Query which hostnames point to an IP address, use a particular nameserver, or reference any DNS value. For example: 'which hostnames point to 1.2.3.4?' or 'which hostnames use chris.ns.cloudflare.com as their nameserver?'","inputSchema":{"type":"object","properties":{"value":{"type":"string","description":"The DNS record value to search for (e.g., IP address, nameserver hostname, mail server, CNAME target)","examples":["1.2.3.4","chris.ns.cloudflare.com","aspmx.l.google.com","cdn.example.com"]},"record_type":{"type":"string","description":"Type of DNS record to search (A, AAAA, NS, MX, CNAME, TXT)","default":"A","enum":["A","AAAA","NS","MX","CNAME","TXT"]},"limit":{"type":"integer","description":"Maximum number of hostnames to return","default":100,"minimum":1,"maximum":1000},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["value"],"additionalProperties":false}},{"name":"reverse_lookup_mx","description":"Find hostnames that use a specific mail server. For example: which hostnames use aspmx.l.google.com as their mail server?","inputSchema":{"type":"object","properties":{"mx_server":{"type":"string","description":"The mail server hostname to search for (e.g., aspmx.l.google.com, mx1.example.com)","examples":["aspmx.l.google.com","mx1.example.com","mail.protonmail.ch"]},"limit":{"type":"integer","description":"Maximum number of hostnames to return","default":100,"minimum":1,"maximum":1000},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["mx_server"],"additionalProperties":false}},{"name":"reverse_lookup_ns","description":"Find hostnames that use a specific nameserver. For example: which hostnames use chris.ns.cloudflare.com as their nameserver?","inputSchema":{"type":"object","properties":{"nameserver":{"type":"string","description":"The nameserver hostname to search for (e.g., chris.ns.cloudflare.com, ns1.example.com)","examples":["chris.ns.cloudflare.com","ns1.example.com","dns1.registrar-servers.com"]},"limit":{"type":"integer","description":"Maximum number of hostnames to return","default":100,"minimum":1,"maximum":1000},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["nameserver"],"additionalProperties":false}},{"name":"reverse_lookup_ip","description":"Find hostnames that point to a specific IP address (IPv4 or IPv6). Searches both A and AAAA records. For example: which hostnames point to 1.2.3.4?","inputSchema":{"type":"object","properties":{"ip":{"type":"string","description":"The IP address to search for (IPv4 or IPv6)","examples":["1.2.3.4","2606:4700:4700::1111","8.8.8.8"]},"limit":{"type":"integer","description":"Maximum number of hostnames to return","default":100,"minimum":1,"maximum":1000},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["ip"],"additionalProperties":false}},{"name":"historic_reverse_lookup_ns","description":"Find hostnames that *previously* used a specific nameserver but no longer do. Tracks infrastructure migrations and past delegation relationships.","inputSchema":{"type":"object","properties":{"nameserver":{"type":"string","description":"The nameserver hostname to search for (e.g., chris.ns.cloudflare.com, ns1.example.com)","examples":["chris.ns.cloudflare.com","ns1.example.com","dns1.registrar-servers.com"]},"limit":{"type":"integer","description":"Maximum number of hostnames to return","default":100,"minimum":1,"maximum":1000},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["nameserver"],"additionalProperties":false}},{"name":"historic_reverse_lookup_mx","description":"Find hostnames that *previously* used a specific mail server but no longer do. Tracks email provider migrations and past MX relationships.","inputSchema":{"type":"object","properties":{"mx_server":{"type":"string","description":"The mail server hostname to search for (e.g., aspmx.l.google.com, mx1.example.com)","examples":["aspmx.l.google.com","mx1.example.com","mail.protonmail.ch"]},"limit":{"type":"integer","description":"Maximum number of hostnames to return","default":100,"minimum":1,"maximum":1000},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["mx_server"],"additionalProperties":false}},{"name":"historic_reverse_lookup_ip","description":"Find hostnames that *previously* pointed to a specific IP address but no longer do. Tracks hosting migrations and past IP relationships. Searches both A and AAAA records.","inputSchema":{"type":"object","properties":{"ip":{"type":"string","description":"The IP address to search for (IPv4 or IPv6)","examples":["1.2.3.4","2606:4700:4700::1111","8.8.8.8"]},"limit":{"type":"integer","description":"Maximum number of hostnames to return","default":100,"minimum":1,"maximum":1000},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["ip"],"additionalProperties":false}},{"name":"lookup_mac","description":"Look up the manufacturer/vendor of a network device by its MAC address. Uses the official IEEE OUI (Organizationally Unique Identifier) database with ~30K entries.","inputSchema":{"type":"object","properties":{"mac_address":{"type":"string","description":"MAC address to look up (e.g., D8:A3:5C:12:34:56, D8-A3-5C-12-34-56, or D8A35C123456). Only the first 6 hex characters (OUI prefix) are used.","examples":["D8:A3:5C:12:34:56","20:1F:3B:AA:BB:CC","D8A35C"]}},"required":["mac_address"],"additionalProperties":false}},{"name":"lookup_as_whois","description":"Lookup WHOIS information for an Autonomous System (AS) number from the RADB routing database. Returns routing policy, network information, and administrative contacts.","inputSchema":{"type":"object","properties":{"asn":{"type":"string","description":"AS number to lookup (e.g., \"AS15169\" or \"15169\" for Google)","pattern":"^(AS)?[0-9]+$","examples":["AS15169","15169","AS13335","13335"]}},"required":["asn"],"additionalProperties":false}},{"name":"lookup_lightning_node","description":"Lookup a Lightning Network node by public key. Returns node alias, peer count, channel count, and centrality ranking.","inputSchema":{"type":"object","properties":{"pubkey":{"type":"string","description":"Compressed secp256k1 public key (66 hex chars)","minLength":66,"maxLength":66,"pattern":"^(02|03)[0-9a-f]{64}$","examples":["03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f"]}},"required":["pubkey"],"additionalProperties":false}},{"name":"lookup_lightning_channel","description":"Lookup a Lightning channel by channel ID. Supports numeric, block x txn x vout, or block:txn:vout formats.","inputSchema":{"type":"object","properties":{"channel_id":{"type":"string","description":"Lightning channel ID (numeric, blockxtxnxvout, or block:txn:vout format)","pattern":"^[0-9]{15,21}$|^[0-9]{3,7}[x:][0-9]{1,6}[x:][0-9]{1,6}$","examples":["936795x1154x0"]}},"required":["channel_id"],"additionalProperties":false}},{"name":"lookup_lightning_channels_per_node","description":"Lookup all Lightning Network channels for a given node by public key.","inputSchema":{"type":"object","properties":{"node":{"type":"string","description":"Compressed secp256k1 public key (66 hex chars)","minLength":66,"maxLength":66,"pattern":"^(02|03)[0-9a-f]{64}$","examples":["03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f"]},"limit":{"type":"integer","description":"Maximum number of channels to return","default":100,"minimum":1,"maximum":10000},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["node"],"additionalProperties":false}},{"name":"get_recommended_lightning_peers","description":"Get recommended Lightning Network peers for a given node. Returns nodes that are NOT currently peered with the specified node but would improve its centrality score if connected.","inputSchema":{"type":"object","properties":{"pubkey":{"type":"string","description":"Compressed secp256k1 public key (66 hex chars)","minLength":66,"maxLength":66,"pattern":"^(02|03)[0-9a-f]{64}$","examples":["03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f"]},"limit":{"type":"integer","description":"Maximum number of recommended peers to return","default":10,"minimum":1,"maximum":100},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["pubkey"],"additionalProperties":false}},{"name":"search_lightning_nodes_by_alias","description":"Search for Lightning Network nodes by partial alias match. Returns nodes whose aliases contain the search term (case-insensitive).","inputSchema":{"type":"object","properties":{"alias":{"type":"string","description":"Search term to match against node aliases","minLength":1,"examples":["ACINQ"]},"limit":{"type":"integer","description":"Maximum number of nodes to return","default":20,"minimum":1,"maximum":100},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["alias"],"additionalProperties":false}},{"name":"domain_rdap","description":"Queries the authoritative RDAP registry for a domain. Returns availability status (HTTP 404 = available), and for registered domains: registrar name, registration/expiration dates, nameservers, DNSSEC status, and domain status flags. Uses IANA bootstrap to find the correct RDAP server per TLD. Covers 590+ TLDs.","inputSchema":{"type":"object","properties":{"domain":{"type":"string","description":"Domain name to look up (e.g., example.com)","examples":["google.com","xyzqwerty12345.com","robtex.org"]}},"required":["domain"],"additionalProperties":false}},{"name":"parse_hostname","description":"Parse a hostname into its constituent parts using the Mozilla Public Suffix List (9700+ entries). Returns eTLD (effective TLD), registered domain, subdomain, labels, and depth. Handles multi-level eTLDs (co.uk, co.jp, com.au) and platform suffixes (github.io, herokuapp.com).","inputSchema":{"type":"object","properties":{"hostname":{"type":"string","description":"Hostname to parse (e.g. www.mail.example.co.uk)","examples":["www.mail.example.co.uk"]}},"required":["hostname"],"additionalProperties":false}},{"name":"is_subdomain","description":"Check whether a hostname is a subdomain (has labels beyond the registered domain). Uses the Mozilla Public Suffix List for accurate eTLD detection.","inputSchema":{"type":"object","properties":{"hostname":{"type":"string","description":"Hostname to check","examples":["www.example.com"]}},"required":["hostname"],"additionalProperties":false}},{"name":"registered_domain","description":"Extract the registered domain (eTLD+1) from a hostname. For example, www.mail.example.co.uk returns example.co.uk.","inputSchema":{"type":"object","properties":{"hostname":{"type":"string","description":"Hostname to extract registered domain from","examples":["blog.shop.example.co.jp"]}},"required":["hostname"],"additionalProperties":false}},{"name":"tld_info","description":"Get information about a top-level domain or effective TLD. Returns whether it is in the Public Suffix List, how many sub-suffixes exist, and classification (ccTLD, gTLD, or infrastructure).","inputSchema":{"type":"object","properties":{"tld":{"type":"string","description":"TLD or eTLD to look up (e.g. \"uk\", \"co.uk\", \"github.io\")","examples":["co.uk"]}},"required":["tld"],"additionalProperties":false}},{"name":"reverse_lookup_cname","description":"Find hostnames that have a CNAME record pointing to the specified target. Useful for CDN and load balancer investigations.","inputSchema":{"type":"object","properties":{"target":{"type":"string","description":"CNAME target hostname (e.g. cdn.cloudflare.net)","examples":["cdn.cloudflare.net"]},"limit":{"type":"integer","description":"Max results","default":100,"minimum":1,"maximum":1000},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["target"],"additionalProperties":false}},{"name":"historic_reverse_lookup_cname","description":"Find hostnames that previously had a CNAME record pointing to the specified target but no longer do. Tracks CDN and infrastructure migrations.","inputSchema":{"type":"object","properties":{"target":{"type":"string","description":"CNAME target hostname","examples":["cdn.cloudflare.net"]},"limit":{"type":"integer","description":"Max results","default":100,"minimum":1,"maximum":1000},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["target"],"additionalProperties":false}},{"name":"ip_geolocation","description":"Get geographic location data for an IP address: country, city, region, latitude, longitude, timezone.","inputSchema":{"type":"object","properties":{"ip":{"type":"string","description":"IPv4 or IPv6 address","examples":["8.8.8.8"]}},"required":["ip"],"additionalProperties":false}},{"name":"ip_network","description":"Get the containing network (BGP route), AS number, AS name, and route description for an IP address.","inputSchema":{"type":"object","properties":{"ip":{"type":"string","description":"IPv4 or IPv6 address","examples":["8.8.8.8"]}},"required":["ip"],"additionalProperties":false}},{"name":"ip_to_asn","description":"Lightweight lookup: get just the AS number and netblock for an IP address. Fastest way to map IP to ASN.","inputSchema":{"type":"object","properties":{"ip":{"type":"string","description":"IPv4 or IPv6 address","examples":["1.1.1.1"]}},"required":["ip"],"additionalProperties":false}},{"name":"ip_blocklist_check","description":"Check an IP address against IPsum, FireHOL, Tor exit node lists, C2 indicators, Roskomnadzor (Russia), and other threat intelligence feeds. Returns which lists the IP appears on and threat scores.","inputSchema":{"type":"object","properties":{"ip":{"type":"string","description":"IPv4 or IPv6 address to check","examples":["185.220.101.1"]}},"required":["ip"],"additionalProperties":false}},{"name":"ip_threat_intel","description":"Combined threat intelligence: DNSBL listings, IPsum score, FireHOL lists, bad ASN flag, Tor exit status. Comprehensive threat assessment for an IP address.","inputSchema":{"type":"object","properties":{"ip":{"type":"string","description":"IPv4 or IPv6 address","examples":["185.220.101.1"]}},"required":["ip"],"additionalProperties":false}},{"name":"as_info","description":"Get the name, organization, country, and description for an Autonomous System number. Lightweight version of as_whois.","inputSchema":{"type":"object","properties":{"asn":{"type":"string","description":"AS number (e.g. \"AS15169\" or \"15169\")","examples":["AS15169"]}},"required":["asn"],"additionalProperties":false}},{"name":"as_prefixes","description":"Get all IPv4 and IPv6 network prefixes (netblocks) announced by an Autonomous System. Returns BGP-visible routes.","inputSchema":{"type":"object","properties":{"asn":{"type":"string","description":"AS number (e.g. \"AS15169\" or \"15169\")","examples":["AS13335"]}},"required":["asn"],"additionalProperties":false}},{"name":"domain_reputation","description":"Get comprehensive domain reputation: Majestic rank, Tranco rank, HaGeZi blocklist status, Blackbook malware status, phishing database status, HSTS preload status, and disposable email detection.","inputSchema":{"type":"object","properties":{"hostname":{"type":"string","description":"Domain to check","examples":["google.com"]}},"required":["hostname"],"additionalProperties":false}},{"name":"domain_ranking","description":"Get domain popularity rankings from five independent sources: Majestic Million (backlinks), Tranco top 1M (aggregated traffic), Cloudflare Radar (1.1.1.1 DNS query popularity), Cisco Umbrella (OpenDNS query popularity), and Chrome UX Report (real Chrome user traffic).","inputSchema":{"type":"object","properties":{"hostname":{"type":"string","description":"Domain to check","examples":["github.com"]}},"required":["hostname"],"additionalProperties":false}},{"name":"domain_blocklist_check","description":"Check a domain against HaGeZi DNS blocklists, Steven Black unified hosts, Blackbook malware list, phishing databases, Roskomnadzor (Russia), and Citizen Lab censorship lists. Returns which lists the domain appears on.","inputSchema":{"type":"object","properties":{"hostname":{"type":"string","description":"Domain to check","examples":["example.com"]}},"required":["hostname"],"additionalProperties":false}},{"name":"dns_differential","description":"Resolve a domain through filtered public DNS resolvers and their unfiltered controls to detect provider threat-feed blocks.","inputSchema":{"type":"object","properties":{"domain":{"type":"string","description":"Domain to check","examples":["example.com"]}},"required":["domain"],"additionalProperties":false}},{"name":"domain_shared_ip","description":"Find other domains hosted on the same IP address(es) as the target domain. Resolves the domain's A records, then performs reverse IP lookups for each.","inputSchema":{"type":"object","properties":{"hostname":{"type":"string","description":"Domain to check","examples":["example.com"]},"limit":{"type":"integer","description":"Max results per IP","default":100,"minimum":1,"maximum":1000}},"required":["hostname"],"additionalProperties":false}},{"name":"domain_shared_ns","description":"Find other domains using the same nameserver(s) as the target domain. Resolves the domain's NS records, then performs reverse NS lookups for each.","inputSchema":{"type":"object","properties":{"hostname":{"type":"string","description":"Domain to check","examples":["example.com"]},"limit":{"type":"integer","description":"Max results per NS","default":100,"minimum":1,"maximum":1000}},"required":["hostname"],"additionalProperties":false}},{"name":"domain_shared_mx","description":"Find other domains using the same mail server(s) as the target domain. Resolves the domain's MX records, then performs reverse MX lookups for each.","inputSchema":{"type":"object","properties":{"hostname":{"type":"string","description":"Domain to check","examples":["example.com"]},"limit":{"type":"integer","description":"Max results per MX","default":100,"minimum":1,"maximum":1000}},"required":["hostname"],"additionalProperties":false}},{"name":"check_email","description":"Verify an email address by connecting to its mail server via SMTP. Checks MX records, tests if the address is accepted (RCPT TO), detects catch-all domains, and reports TLS support. Results are RAM-cached for 1 hour.","inputSchema":{"type":"object","properties":{"email":{"type":"string","description":"Email address to verify (e.g., user@example.com)","examples":["user@gmail.com","info@example.com","test@nonexistent-domain.xyz"]}},"required":["email"],"additionalProperties":false}},{"name":"ping","description":"Check if the API is responding. Returns status and server timestamp.","inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"lookup_bitcoin_transaction","description":"Returns full transaction details: inputs with addresses and values, outputs with spent status, fee, size/weight, SegWit flag, and Lightning Network channel correlation. Supports both confirmed and mempool transactions.","inputSchema":{"type":"object","properties":{"txid":{"type":"string","description":"Transaction ID (64 hex characters)","pattern":"^[a-fA-F0-9]{64}$","examples":["4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"]}},"required":["txid"],"additionalProperties":false}},{"name":"lookup_bitcoin_address","description":"Returns address balance, total received/sent, transaction counts, address type (P2PKH, P2SH, P2WPKH, P2TR), first/last seen block, and ransomware/abuse flags. Supports all Bitcoin address formats.","inputSchema":{"type":"object","properties":{"address":{"type":"string","description":"Bitcoin address (P2PKH, P2SH, Bech32, Bech32m)","examples":["1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"]}},"required":["address"],"additionalProperties":false}},{"name":"lookup_bitcoin_block","description":"Returns block header (hash, timestamp, version, merkle root, difficulty, nonce), transaction count, and list of transaction IDs. Supports lookup by block height.","inputSchema":{"type":"object","properties":{"height":{"type":"integer","description":"Block height (0 = genesis block)","minimum":0,"examples":[800000]}},"required":["height"],"additionalProperties":false}},{"name":"bitcoin_address_transactions","description":"Returns a paginated list of transactions involving a Bitcoin address. Filter by direction: received (incoming funds), sent (outgoing funds), or all. Returns up to 100 transactions per call, sorted by block height descending (most recent first).","inputSchema":{"type":"object","properties":{"address":{"type":"string","description":"Bitcoin address","examples":["1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"]},"direction":{"type":"string","description":"Transaction direction filter","default":"all","enum":["received","sent","all"]}},"required":["address"],"additionalProperties":false}},{"name":"bitcoin_transaction_spends","description":"For a given transaction, returns which subsequent transactions consumed its outputs. Useful for UTXO tracking and chain analysis. Shows the spending txid for each output.","inputSchema":{"type":"object","properties":{"txid":{"type":"string","description":"Transaction ID (64 hex characters)","pattern":"^[a-fA-F0-9]{64}$","examples":["4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"]}},"required":["txid"],"additionalProperties":false}},{"name":"bitcoin_blockchain_stats","description":"Returns cumulative blockchain metrics over a configurable block range. Available metrics include: txs, fees, segwittx, inputs, outputs, insats, outsats, btcusd, volusd, unspentoutputs, fullyspent, unspentsats, addresses, satoshiblocks, clnopen, clnclose, satlnopen, satlnclose, basereward, blockreward, batched, rbf, version2tx, lowestfee, and more. Returns sampled data points suitable for charting.","inputSchema":{"type":"object","properties":{"metric":{"type":"string","description":"Metric name (e.g., txs, fees, segwittx, btcusd, clnopen)","examples":["txs"]},"startBlock":{"type":"integer","description":"Start block height","default":0,"minimum":0},"endBlock":{"type":"integer","description":"End block height (defaults to latest)","minimum":0},"samples":{"type":"integer","description":"Number of data points to return (evenly spaced across range)","default":200,"minimum":10,"maximum":2000}},"required":["metric"],"additionalProperties":false}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 07:29:17","lastCheckedAt":"2026-08-28 22:18:03","mcpAgentSnippet":{"type":"url","url":"https://mcp.robtex.com/v1/mcp","name":"mcp-robtex-com-v1-mcp"}},{"id":"mcp-robtex-com-mcp-json","name":"Path expansion from https://mcp.robtex.com/mcp","description":"Path expansion from https://mcp.robtex.com/mcp","url":"https://mcp.robtex.com/mcp.json","sourceUrl":"https://mcp.robtex.com/mcp","transport":"http","specVersion":"2025-06-18","status":"active","validated":true,"score":96,"latencyP50":78,"toolCount":46,"tools":[{"name":"latest_lightning_channels","description":"Returns the most recently opened Lightning Network channels, sorted by open time descending.","inputSchema":{"type":"object","properties":{"count":{"type":"integer","description":"Number of channels to return (1-1000)","default":10,"minimum":1,"maximum":1000,"examples":[10]}},"required":[],"additionalProperties":false}},{"name":"ip_reputation","description":"Check an IP address reputation against 100+ real-time blocklists (DNSBLs). Returns listing status, threat categories, AS info, and blocklist details.","inputSchema":{"type":"object","properties":{"ip":{"type":"string","description":"IPv4 or IPv6 address to check (e.g., 8.8.8.8, 2001:4860:4860::8888)","examples":["8.8.8.8"]}},"required":["ip"],"additionalProperties":false}},{"name":"lookup_dns","description":"Lookup DNS records (A, AAAA, MX, NS, TXT, CNAME, SOA) for a given hostname. Also returns domain reputation info (Majestic, Tranco rankings, blocklist status).","inputSchema":{"type":"object","properties":{"hostname":{"type":"string","description":"Hostname or domain to lookup (e.g., example.com, www.example.com)","examples":["google.com"]}},"required":["hostname"],"additionalProperties":false}},{"name":"reverse_lookup_dns_records","description":"Find hostnames that use a specific DNS record value. Query which hostnames point to an IP address, use a particular nameserver, or reference any DNS value. For example: 'which hostnames point to 1.2.3.4?' or 'which hostnames use chris.ns.cloudflare.com as their nameserver?'","inputSchema":{"type":"object","properties":{"value":{"type":"string","description":"The DNS record value to search for (e.g., IP address, nameserver hostname, mail server, CNAME target)","examples":["1.2.3.4","chris.ns.cloudflare.com","aspmx.l.google.com","cdn.example.com"]},"record_type":{"type":"string","description":"Type of DNS record to search (A, AAAA, NS, MX, CNAME, TXT)","default":"A","enum":["A","AAAA","NS","MX","CNAME","TXT"]},"limit":{"type":"integer","description":"Maximum number of hostnames to return","default":100,"minimum":1,"maximum":1000},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["value"],"additionalProperties":false}},{"name":"reverse_lookup_mx","description":"Find hostnames that use a specific mail server. For example: which hostnames use aspmx.l.google.com as their mail server?","inputSchema":{"type":"object","properties":{"mx_server":{"type":"string","description":"The mail server hostname to search for (e.g., aspmx.l.google.com, mx1.example.com)","examples":["aspmx.l.google.com","mx1.example.com","mail.protonmail.ch"]},"limit":{"type":"integer","description":"Maximum number of hostnames to return","default":100,"minimum":1,"maximum":1000},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["mx_server"],"additionalProperties":false}},{"name":"reverse_lookup_ns","description":"Find hostnames that use a specific nameserver. For example: which hostnames use chris.ns.cloudflare.com as their nameserver?","inputSchema":{"type":"object","properties":{"nameserver":{"type":"string","description":"The nameserver hostname to search for (e.g., chris.ns.cloudflare.com, ns1.example.com)","examples":["chris.ns.cloudflare.com","ns1.example.com","dns1.registrar-servers.com"]},"limit":{"type":"integer","description":"Maximum number of hostnames to return","default":100,"minimum":1,"maximum":1000},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["nameserver"],"additionalProperties":false}},{"name":"reverse_lookup_ip","description":"Find hostnames that point to a specific IP address (IPv4 or IPv6). Searches both A and AAAA records. For example: which hostnames point to 1.2.3.4?","inputSchema":{"type":"object","properties":{"ip":{"type":"string","description":"The IP address to search for (IPv4 or IPv6)","examples":["1.2.3.4","2606:4700:4700::1111","8.8.8.8"]},"limit":{"type":"integer","description":"Maximum number of hostnames to return","default":100,"minimum":1,"maximum":1000},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["ip"],"additionalProperties":false}},{"name":"historic_reverse_lookup_ns","description":"Find hostnames that *previously* used a specific nameserver but no longer do. Tracks infrastructure migrations and past delegation relationships.","inputSchema":{"type":"object","properties":{"nameserver":{"type":"string","description":"The nameserver hostname to search for (e.g., chris.ns.cloudflare.com, ns1.example.com)","examples":["chris.ns.cloudflare.com","ns1.example.com","dns1.registrar-servers.com"]},"limit":{"type":"integer","description":"Maximum number of hostnames to return","default":100,"minimum":1,"maximum":1000},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["nameserver"],"additionalProperties":false}},{"name":"historic_reverse_lookup_mx","description":"Find hostnames that *previously* used a specific mail server but no longer do. Tracks email provider migrations and past MX relationships.","inputSchema":{"type":"object","properties":{"mx_server":{"type":"string","description":"The mail server hostname to search for (e.g., aspmx.l.google.com, mx1.example.com)","examples":["aspmx.l.google.com","mx1.example.com","mail.protonmail.ch"]},"limit":{"type":"integer","description":"Maximum number of hostnames to return","default":100,"minimum":1,"maximum":1000},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["mx_server"],"additionalProperties":false}},{"name":"historic_reverse_lookup_ip","description":"Find hostnames that *previously* pointed to a specific IP address but no longer do. Tracks hosting migrations and past IP relationships. Searches both A and AAAA records.","inputSchema":{"type":"object","properties":{"ip":{"type":"string","description":"The IP address to search for (IPv4 or IPv6)","examples":["1.2.3.4","2606:4700:4700::1111","8.8.8.8"]},"limit":{"type":"integer","description":"Maximum number of hostnames to return","default":100,"minimum":1,"maximum":1000},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["ip"],"additionalProperties":false}},{"name":"lookup_mac","description":"Look up the manufacturer/vendor of a network device by its MAC address. Uses the official IEEE OUI (Organizationally Unique Identifier) database with ~30K entries.","inputSchema":{"type":"object","properties":{"mac_address":{"type":"string","description":"MAC address to look up (e.g., D8:A3:5C:12:34:56, D8-A3-5C-12-34-56, or D8A35C123456). Only the first 6 hex characters (OUI prefix) are used.","examples":["D8:A3:5C:12:34:56","20:1F:3B:AA:BB:CC","D8A35C"]}},"required":["mac_address"],"additionalProperties":false}},{"name":"lookup_as_whois","description":"Lookup WHOIS information for an Autonomous System (AS) number from the RADB routing database. Returns routing policy, network information, and administrative contacts.","inputSchema":{"type":"object","properties":{"asn":{"type":"string","description":"AS number to lookup (e.g., \"AS15169\" or \"15169\" for Google)","pattern":"^(AS)?[0-9]+$","examples":["AS15169","15169","AS13335","13335"]}},"required":["asn"],"additionalProperties":false}},{"name":"lookup_lightning_node","description":"Lookup a Lightning Network node by public key. Returns node alias, peer count, channel count, and centrality ranking.","inputSchema":{"type":"object","properties":{"pubkey":{"type":"string","description":"Compressed secp256k1 public key (66 hex chars)","minLength":66,"maxLength":66,"pattern":"^(02|03)[0-9a-f]{64}$","examples":["03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f"]}},"required":["pubkey"],"additionalProperties":false}},{"name":"lookup_lightning_channel","description":"Lookup a Lightning channel by channel ID. Supports numeric, block x txn x vout, or block:txn:vout formats.","inputSchema":{"type":"object","properties":{"channel_id":{"type":"string","description":"Lightning channel ID (numeric, blockxtxnxvout, or block:txn:vout format)","pattern":"^[0-9]{15,21}$|^[0-9]{3,7}[x:][0-9]{1,6}[x:][0-9]{1,6}$","examples":["936795x1154x0"]}},"required":["channel_id"],"additionalProperties":false}},{"name":"lookup_lightning_channels_per_node","description":"Lookup all Lightning Network channels for a given node by public key.","inputSchema":{"type":"object","properties":{"node":{"type":"string","description":"Compressed secp256k1 public key (66 hex chars)","minLength":66,"maxLength":66,"pattern":"^(02|03)[0-9a-f]{64}$","examples":["03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f"]},"limit":{"type":"integer","description":"Maximum number of channels to return","default":100,"minimum":1,"maximum":10000},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["node"],"additionalProperties":false}},{"name":"get_recommended_lightning_peers","description":"Get recommended Lightning Network peers for a given node. Returns nodes that are NOT currently peered with the specified node but would improve its centrality score if connected.","inputSchema":{"type":"object","properties":{"pubkey":{"type":"string","description":"Compressed secp256k1 public key (66 hex chars)","minLength":66,"maxLength":66,"pattern":"^(02|03)[0-9a-f]{64}$","examples":["03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f"]},"limit":{"type":"integer","description":"Maximum number of recommended peers to return","default":10,"minimum":1,"maximum":100},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["pubkey"],"additionalProperties":false}},{"name":"search_lightning_nodes_by_alias","description":"Search for Lightning Network nodes by partial alias match. Returns nodes whose aliases contain the search term (case-insensitive).","inputSchema":{"type":"object","properties":{"alias":{"type":"string","description":"Search term to match against node aliases","minLength":1,"examples":["ACINQ"]},"limit":{"type":"integer","description":"Maximum number of nodes to return","default":20,"minimum":1,"maximum":100},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["alias"],"additionalProperties":false}},{"name":"domain_rdap","description":"Queries the authoritative RDAP registry for a domain. Returns availability status (HTTP 404 = available), and for registered domains: registrar name, registration/expiration dates, nameservers, DNSSEC status, and domain status flags. Uses IANA bootstrap to find the correct RDAP server per TLD. Covers 590+ TLDs.","inputSchema":{"type":"object","properties":{"domain":{"type":"string","description":"Domain name to look up (e.g., example.com)","examples":["google.com","xyzqwerty12345.com","robtex.org"]}},"required":["domain"],"additionalProperties":false}},{"name":"parse_hostname","description":"Parse a hostname into its constituent parts using the Mozilla Public Suffix List (9700+ entries). Returns eTLD (effective TLD), registered domain, subdomain, labels, and depth. Handles multi-level eTLDs (co.uk, co.jp, com.au) and platform suffixes (github.io, herokuapp.com).","inputSchema":{"type":"object","properties":{"hostname":{"type":"string","description":"Hostname to parse (e.g. www.mail.example.co.uk)","examples":["www.mail.example.co.uk"]}},"required":["hostname"],"additionalProperties":false}},{"name":"is_subdomain","description":"Check whether a hostname is a subdomain (has labels beyond the registered domain). Uses the Mozilla Public Suffix List for accurate eTLD detection.","inputSchema":{"type":"object","properties":{"hostname":{"type":"string","description":"Hostname to check","examples":["www.example.com"]}},"required":["hostname"],"additionalProperties":false}},{"name":"registered_domain","description":"Extract the registered domain (eTLD+1) from a hostname. For example, www.mail.example.co.uk returns example.co.uk.","inputSchema":{"type":"object","properties":{"hostname":{"type":"string","description":"Hostname to extract registered domain from","examples":["blog.shop.example.co.jp"]}},"required":["hostname"],"additionalProperties":false}},{"name":"tld_info","description":"Get information about a top-level domain or effective TLD. Returns whether it is in the Public Suffix List, how many sub-suffixes exist, and classification (ccTLD, gTLD, or infrastructure).","inputSchema":{"type":"object","properties":{"tld":{"type":"string","description":"TLD or eTLD to look up (e.g. \"uk\", \"co.uk\", \"github.io\")","examples":["co.uk"]}},"required":["tld"],"additionalProperties":false}},{"name":"reverse_lookup_cname","description":"Find hostnames that have a CNAME record pointing to the specified target. Useful for CDN and load balancer investigations.","inputSchema":{"type":"object","properties":{"target":{"type":"string","description":"CNAME target hostname (e.g. cdn.cloudflare.net)","examples":["cdn.cloudflare.net"]},"limit":{"type":"integer","description":"Max results","default":100,"minimum":1,"maximum":1000},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["target"],"additionalProperties":false}},{"name":"historic_reverse_lookup_cname","description":"Find hostnames that previously had a CNAME record pointing to the specified target but no longer do. Tracks CDN and infrastructure migrations.","inputSchema":{"type":"object","properties":{"target":{"type":"string","description":"CNAME target hostname","examples":["cdn.cloudflare.net"]},"limit":{"type":"integer","description":"Max results","default":100,"minimum":1,"maximum":1000},"offset":{"type":"integer","description":"Offset for pagination","default":0,"minimum":0}},"required":["target"],"additionalProperties":false}},{"name":"ip_geolocation","description":"Get geographic location data for an IP address: country, city, region, latitude, longitude, timezone.","inputSchema":{"type":"object","properties":{"ip":{"type":"string","description":"IPv4 or IPv6 address","examples":["8.8.8.8"]}},"required":["ip"],"additionalProperties":false}},{"name":"ip_network","description":"Get the containing network (BGP route), AS number, AS name, and route description for an IP address.","inputSchema":{"type":"object","properties":{"ip":{"type":"string","description":"IPv4 or IPv6 address","examples":["8.8.8.8"]}},"required":["ip"],"additionalProperties":false}},{"name":"ip_to_asn","description":"Lightweight lookup: get just the AS number and netblock for an IP address. Fastest way to map IP to ASN.","inputSchema":{"type":"object","properties":{"ip":{"type":"string","description":"IPv4 or IPv6 address","examples":["1.1.1.1"]}},"required":["ip"],"additionalProperties":false}},{"name":"ip_blocklist_check","description":"Check an IP address against IPsum, FireHOL, Tor exit node lists, C2 indicators, Roskomnadzor (Russia), and other threat intelligence feeds. Returns which lists the IP appears on and threat scores.","inputSchema":{"type":"object","properties":{"ip":{"type":"string","description":"IPv4 or IPv6 address to check","examples":["185.220.101.1"]}},"required":["ip"],"additionalProperties":false}},{"name":"ip_threat_intel","description":"Combined threat intelligence: DNSBL listings, IPsum score, FireHOL lists, bad ASN flag, Tor exit status. Comprehensive threat assessment for an IP address.","inputSchema":{"type":"object","properties":{"ip":{"type":"string","description":"IPv4 or IPv6 address","examples":["185.220.101.1"]}},"required":["ip"],"additionalProperties":false}},{"name":"as_info","description":"Get the name, organization, country, and description for an Autonomous System number. Lightweight version of as_whois.","inputSchema":{"type":"object","properties":{"asn":{"type":"string","description":"AS number (e.g. \"AS15169\" or \"15169\")","examples":["AS15169"]}},"required":["asn"],"additionalProperties":false}},{"name":"as_prefixes","description":"Get all IPv4 and IPv6 network prefixes (netblocks) announced by an Autonomous System. Returns BGP-visible routes.","inputSchema":{"type":"object","properties":{"asn":{"type":"string","description":"AS number (e.g. \"AS15169\" or \"15169\")","examples":["AS13335"]}},"required":["asn"],"additionalProperties":false}},{"name":"domain_reputation","description":"Get comprehensive domain reputation: Majestic rank, Tranco rank, HaGeZi blocklist status, Blackbook malware status, phishing database status, HSTS preload status, and disposable email detection.","inputSchema":{"type":"object","properties":{"hostname":{"type":"string","description":"Domain to check","examples":["google.com"]}},"required":["hostname"],"additionalProperties":false}},{"name":"domain_ranking","description":"Get domain popularity rankings from five independent sources: Majestic Million (backlinks), Tranco top 1M (aggregated traffic), Cloudflare Radar (1.1.1.1 DNS query popularity), Cisco Umbrella (OpenDNS query popularity), and Chrome UX Report (real Chrome user traffic).","inputSchema":{"type":"object","properties":{"hostname":{"type":"string","description":"Domain to check","examples":["github.com"]}},"required":["hostname"],"additionalProperties":false}},{"name":"domain_blocklist_check","description":"Check a domain against HaGeZi DNS blocklists, Steven Black unified hosts, Blackbook malware list, phishing databases, Roskomnadzor (Russia), and Citizen Lab censorship lists. Returns which lists the domain appears on.","inputSchema":{"type":"object","properties":{"hostname":{"type":"string","description":"Domain to check","examples":["example.com"]}},"required":["hostname"],"additionalProperties":false}},{"name":"dns_differential","description":"Resolve a domain through filtered public DNS resolvers and their unfiltered controls to detect provider threat-feed blocks.","inputSchema":{"type":"object","properties":{"domain":{"type":"string","description":"Domain to check","examples":["example.com"]}},"required":["domain"],"additionalProperties":false}},{"name":"domain_shared_ip","description":"Find other domains hosted on the same IP address(es) as the target domain. Resolves the domain's A records, then performs reverse IP lookups for each.","inputSchema":{"type":"object","properties":{"hostname":{"type":"string","description":"Domain to check","examples":["example.com"]},"limit":{"type":"integer","description":"Max results per IP","default":100,"minimum":1,"maximum":1000}},"required":["hostname"],"additionalProperties":false}},{"name":"domain_shared_ns","description":"Find other domains using the same nameserver(s) as the target domain. Resolves the domain's NS records, then performs reverse NS lookups for each.","inputSchema":{"type":"object","properties":{"hostname":{"type":"string","description":"Domain to check","examples":["example.com"]},"limit":{"type":"integer","description":"Max results per NS","default":100,"minimum":1,"maximum":1000}},"required":["hostname"],"additionalProperties":false}},{"name":"domain_shared_mx","description":"Find other domains using the same mail server(s) as the target domain. Resolves the domain's MX records, then performs reverse MX lookups for each.","inputSchema":{"type":"object","properties":{"hostname":{"type":"string","description":"Domain to check","examples":["example.com"]},"limit":{"type":"integer","description":"Max results per MX","default":100,"minimum":1,"maximum":1000}},"required":["hostname"],"additionalProperties":false}},{"name":"check_email","description":"Verify an email address by connecting to its mail server via SMTP. Checks MX records, tests if the address is accepted (RCPT TO), detects catch-all domains, and reports TLS support. Results are RAM-cached for 1 hour.","inputSchema":{"type":"object","properties":{"email":{"type":"string","description":"Email address to verify (e.g., user@example.com)","examples":["user@gmail.com","info@example.com","test@nonexistent-domain.xyz"]}},"required":["email"],"additionalProperties":false}},{"name":"ping","description":"Check if the API is responding. Returns status and server timestamp.","inputSchema":{"type":"object","properties":{},"required":[],"additionalProperties":false}},{"name":"lookup_bitcoin_transaction","description":"Returns full transaction details: inputs with addresses and values, outputs with spent status, fee, size/weight, SegWit flag, and Lightning Network channel correlation. Supports both confirmed and mempool transactions.","inputSchema":{"type":"object","properties":{"txid":{"type":"string","description":"Transaction ID (64 hex characters)","pattern":"^[a-fA-F0-9]{64}$","examples":["4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"]}},"required":["txid"],"additionalProperties":false}},{"name":"lookup_bitcoin_address","description":"Returns address balance, total received/sent, transaction counts, address type (P2PKH, P2SH, P2WPKH, P2TR), first/last seen block, and ransomware/abuse flags. Supports all Bitcoin address formats.","inputSchema":{"type":"object","properties":{"address":{"type":"string","description":"Bitcoin address (P2PKH, P2SH, Bech32, Bech32m)","examples":["1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"]}},"required":["address"],"additionalProperties":false}},{"name":"lookup_bitcoin_block","description":"Returns block header (hash, timestamp, version, merkle root, difficulty, nonce), transaction count, and list of transaction IDs. Supports lookup by block height.","inputSchema":{"type":"object","properties":{"height":{"type":"integer","description":"Block height (0 = genesis block)","minimum":0,"examples":[800000]}},"required":["height"],"additionalProperties":false}},{"name":"bitcoin_address_transactions","description":"Returns a paginated list of transactions involving a Bitcoin address. Filter by direction: received (incoming funds), sent (outgoing funds), or all. Returns up to 100 transactions per call, sorted by block height descending (most recent first).","inputSchema":{"type":"object","properties":{"address":{"type":"string","description":"Bitcoin address","examples":["1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"]},"direction":{"type":"string","description":"Transaction direction filter","default":"all","enum":["received","sent","all"]}},"required":["address"],"additionalProperties":false}},{"name":"bitcoin_transaction_spends","description":"For a given transaction, returns which subsequent transactions consumed its outputs. Useful for UTXO tracking and chain analysis. Shows the spending txid for each output.","inputSchema":{"type":"object","properties":{"txid":{"type":"string","description":"Transaction ID (64 hex characters)","pattern":"^[a-fA-F0-9]{64}$","examples":["4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"]}},"required":["txid"],"additionalProperties":false}},{"name":"bitcoin_blockchain_stats","description":"Returns cumulative blockchain metrics over a configurable block range. Available metrics include: txs, fees, segwittx, inputs, outputs, insats, outsats, btcusd, volusd, unspentoutputs, fullyspent, unspentsats, addresses, satoshiblocks, clnopen, clnclose, satlnopen, satlnclose, basereward, blockreward, batched, rbf, version2tx, lowestfee, and more. Returns sampled data points suitable for charting.","inputSchema":{"type":"object","properties":{"metric":{"type":"string","description":"Metric name (e.g., txs, fees, segwittx, btcusd, clnopen)","examples":["txs"]},"startBlock":{"type":"integer","description":"Start block height","default":0,"minimum":0},"endBlock":{"type":"integer","description":"End block height (defaults to latest)","minimum":0},"samples":{"type":"integer","description":"Number of data points to return (evenly spaced across range)","default":200,"minimum":10,"maximum":2000}},"required":["metric"],"additionalProperties":false}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 07:29:17","lastCheckedAt":"2026-08-28 22:18:03","mcpAgentSnippet":{"type":"url","url":"https://mcp.robtex.com/mcp.json","name":"mcp-robtex-com-mcp-json"}},{"id":"knowledge-mcp-global-api-aws-mcp-json","name":"Path expansion from https://knowledge-mcp.global.api.aws","description":"Path expansion from https://knowledge-mcp.global.api.aws","url":"https://knowledge-mcp.global.api.aws/mcp.json","sourceUrl":"https://knowledge-mcp.global.api.aws","transport":"http","specVersion":"2025-03-26","status":"active","validated":true,"score":98,"latencyP50":42,"toolCount":5,"tools":[{"name":"aws___read_documentation","description":"Fetch full AWS doc pages as markdown. `search_documentation` already returns verbatim page chunks, so don't re-read a URL whose chunk you already have to \"confirm\" or \"round out\" an answer -- the chunk is the real page text; treat it as authoritative.\n\nReading the full page is justified ONLY when the chunks genuinely lack the content:\n- an enumeration or aggregation (\"list all X\", \"how many X\") needs the complete set and the chunks show only part of it;\n- no search result is on-topic after refining the query, and a known doc URL would have the answer.\nOtherwise, answer from the chunks. Use exact URLs from `search_documentation`; don't guess slugs.\n\nInput: `requests: [{url, max_length?, start_index?}]`. Batch 2-5.\n- `max_length` default 10000.\n- `start_index` default 0; use prior `end_index` to continue, TOC offset to jump.\n\nAllow-listed prefixes: docs.aws.amazon.com; aws.amazon.com (not /marketplace); repost.aws/knowledge-center; docs.amplify.aws; ui.docs.amplify.aws; github.com/{aws-cloudformation/aws-cloudformation-templates, aws-samples/{aws-cdk-examples, generative-ai-cdk-constructs-samples, serverless-patterns}, awsdocs/aws-cdk-guide, awslabs/aws-solutions-constructs, cdklabs/cdk-nag} (README on `main`); constructs.dev/packages/{@aws-cdk-containers, @aws-cdk, @cdk-cloudformation, aws-analytics-reference-architecture, aws-cdk-lib, cdk-amazon-chime-resources, cdk-aws-lambda-powertools-layer, cdk-ecr-deployment, cdk-lambda-powertools-python-layer, cdk-serverless-clamscan, cdk8s, cdk8s-plus-33}; strandsagents.com/latest/documentation/docs/; karpenter.sh/docs/; Amazon Braket: {amazon-braket-sdk-python, amazon-braket-schemas-python, amazon-braket-default-simulator-python, amazon-braket-pennylane-plugin-python, amazon-braket-algorithm-library, qiskit-braket-provider, autoqasm, qirtoqasm}.readthedocs.io and github.com/amazon-braket/* (blob/tree/raw).\n\nOutput: SUCCESS -- markdown + `total_length, start_index, end_index, truncated, redirected_url?` (truncated includes TOC with char ranges). ERROR -- `error_code` in {not_found, invalid_url, throttled, downstream_error, validation_error}.","inputSchema":{"type":"object","properties":{"requests":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","description":"Doc URL with allow-listed prefix; use exact URL from search."},"max_length":{"type":"integer","description":"Chars returned (default 10000)."},"start_index":{"type":"integer","description":"Char offset (default 0). Use prior `end_index` to continue, or TOC offset to jump."}},"required":["url"]},"description":"List of `{url, max_length?, start_index?}`. Batch 2-5."}},"required":[]}},{"name":"aws___search_documentation","description":"AWS docs search. Each result's `context` is verbatim page text -- a real chunk of the actual page, not a short snippet -- and usually already contains the answer, so answer directly from it. Use `read_documentation` only when the chunks genuinely lack the needed detail.\n\nPick ONE topic. Add a 2nd ONLY if query genuinely spans domains. Extra topics dilute ranking.\n\n- reference_documentation -- API/SDK/CLI specs, config params\n- current_awareness -- new/released/announced\n- troubleshooting -- errors, \"how to fix\" (NOT for conceptual/feature questions)\n- amplify_docs -- Amplify (+ language)\n- cdk_docs -- CDK concepts/guides\n- cdk_constructs -- CDK code samples, L3\n- cloudformation -- CFN/SAM templates\n- strands_docs -- Strands Agents SDK (its Skills/agents concepts go here, NOT agent_skills)\n- agent_skills -- this tool's guided skills (load via `retrieve_skill`)\n- general (default) -- architecture, best practices, tutorials, feature behavior\n\nResults: rank_order (lower=better), url, title, context (verbatim page chunk -- answer directly from it).","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","description":"Maximum number of results to return (default 4)."},"search_phrase":{"type":"string","description":"Keywords; preserve exact error strings and all task terms verbatim."},"topics":{"type":"array","items":{"type":"string","description":"topic name"},"description":"Up to 3 from: reference_documentation, current_awareness, troubleshooting, amplify_docs, cdk_docs, cdk_constructs, cloudformation, agent_skills, strands_docs, general. Default [\"general\"]."}},"required":["search_phrase"]}},{"name":"aws___list_regions","description":"Retrieve a list of all AWS regions.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"aws___get_regional_availability","description":"AWS resource availability per region.\n\n- Max 10 regions; multi-region needs `filters`; single-region supports `next_token`.\n- Status: isAvailableIn | isNotAvailableIn | isPlannedIn | Not Found.\n- Response key: products | service_apis | cfn_resources.\n\nNot for region counts/docs/vague queries -- use `search_documentation` / `list_regions`.\n\nFilter values must EXACTLY match AWS's catalog names; guessed, partial, or pluralized names are rejected (\"values in filter parameter do not exist\"). If unsure of the exact name, first call once for a single region with resource_type set and NO filters to list all valid names, then re-call filtering on the exact match.","inputSchema":{"type":"object","properties":{"regions":{"type":"array","items":{"type":"string"},"description":"AWS region codes (max 10). Multi-region requires `filters`; single-region supports `next_token`."},"resource_type":{"type":"string","description":"Required: 'product' | 'api' | 'cfn'."},"filters":{"type":"array","items":{"type":"string"},"description":"Use exact AWS product or sub-feature name.\n\n- product: 'Amazon Bedrock' (service), or sub-features like 'Comprehend Auto Scaling', 'Latency-Based Routing', 'PrivateLink Support'. When the user names a specific sub-feature, filter on the sub-feature -- do NOT generalize to the parent service ('Amazon Comprehend'); that returns availability for the wrong scope.\n- api: 'SdkServiceId+Operation' (e.g. 'CloudFormation+CreateStack', 'IAM+GetSSHPublicKey') or 'SdkServiceId' (e.g. 'EC2'). Use a literal '+' between service and operation -- not space, colon, or hyphen.\n- cfn: 'AWS::EC2::Instance', 'AWS::Lambda::Function'.\n\nInclude every region the user named; don't add filters they didn't request.\n\nValues must EXACTLY match AWS's catalog (e.g. 'AWS Lambda', not 'Lambda' or 'AWS Lambda Service'). If unsure of the exact name, first call once for one region with NO filters to list valid names, then filter on the exact match."},"next_token":{"type":"string","description":"Pagination token. Single-region, no filters only."},"region":{"type":"string","description":"Unused; use `regions`."}},"required":["resource_type"]}},{"name":"aws___retrieve_skill","description":"Retrieve an AWS skill (workflows, references). Returns SKILL.md, or `file` if given.\n\nCall `search_documentation` FIRST and copy `skill_name` verbatim -- it is an opaque registry ID. Never guess or fabricate `skill_name` or `file`.","inputSchema":{"type":"object","properties":{"file":{"type":"string","description":"Optional file path within the skill, copied as cited (e.g. `references/architecture.md`). Don't add or strip a `references/` prefix. Omit for SKILL.md."},"skill_name":{"type":"string","description":"Required. Exact `skill_name` from a search_documentation result, copied verbatim. Do not invent or modify."}},"required":["skill_name"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-23 14:26:46","lastCheckedAt":"2026-08-28 22:18:01","mcpAgentSnippet":{"type":"url","url":"https://knowledge-mcp.global.api.aws/mcp.json","name":"knowledge-mcp-global-api-aws-mcp-json"}},{"id":"knowledge-mcp-global-api-aws-tools","name":"Path expansion from https://knowledge-mcp.global.api.aws","description":"Path expansion from https://knowledge-mcp.global.api.aws","url":"https://knowledge-mcp.global.api.aws/tools","sourceUrl":"https://knowledge-mcp.global.api.aws","transport":"http","specVersion":"2025-03-26","status":"active","validated":true,"score":98,"latencyP50":42,"toolCount":5,"tools":[{"name":"aws___read_documentation","description":"Fetch full AWS doc pages as markdown. `search_documentation` already returns verbatim page chunks, so don't re-read a URL whose chunk you already have to \"confirm\" or \"round out\" an answer -- the chunk is the real page text; treat it as authoritative.\n\nReading the full page is justified ONLY when the chunks genuinely lack the content:\n- an enumeration or aggregation (\"list all X\", \"how many X\") needs the complete set and the chunks show only part of it;\n- no search result is on-topic after refining the query, and a known doc URL would have the answer.\nOtherwise, answer from the chunks. Use exact URLs from `search_documentation`; don't guess slugs.\n\nInput: `requests: [{url, max_length?, start_index?}]`. Batch 2-5.\n- `max_length` default 10000.\n- `start_index` default 0; use prior `end_index` to continue, TOC offset to jump.\n\nAllow-listed prefixes: docs.aws.amazon.com; aws.amazon.com (not /marketplace); repost.aws/knowledge-center; docs.amplify.aws; ui.docs.amplify.aws; github.com/{aws-cloudformation/aws-cloudformation-templates, aws-samples/{aws-cdk-examples, generative-ai-cdk-constructs-samples, serverless-patterns}, awsdocs/aws-cdk-guide, awslabs/aws-solutions-constructs, cdklabs/cdk-nag} (README on `main`); constructs.dev/packages/{@aws-cdk-containers, @aws-cdk, @cdk-cloudformation, aws-analytics-reference-architecture, aws-cdk-lib, cdk-amazon-chime-resources, cdk-aws-lambda-powertools-layer, cdk-ecr-deployment, cdk-lambda-powertools-python-layer, cdk-serverless-clamscan, cdk8s, cdk8s-plus-33}; strandsagents.com/latest/documentation/docs/; karpenter.sh/docs/; Amazon Braket: {amazon-braket-sdk-python, amazon-braket-schemas-python, amazon-braket-default-simulator-python, amazon-braket-pennylane-plugin-python, amazon-braket-algorithm-library, qiskit-braket-provider, autoqasm, qirtoqasm}.readthedocs.io and github.com/amazon-braket/* (blob/tree/raw).\n\nOutput: SUCCESS -- markdown + `total_length, start_index, end_index, truncated, redirected_url?` (truncated includes TOC with char ranges). ERROR -- `error_code` in {not_found, invalid_url, throttled, downstream_error, validation_error}.","inputSchema":{"type":"object","properties":{"requests":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","description":"Doc URL with allow-listed prefix; use exact URL from search."},"max_length":{"type":"integer","description":"Chars returned (default 10000)."},"start_index":{"type":"integer","description":"Char offset (default 0). Use prior `end_index` to continue, or TOC offset to jump."}},"required":["url"]},"description":"List of `{url, max_length?, start_index?}`. Batch 2-5."}},"required":[]}},{"name":"aws___search_documentation","description":"AWS docs search. Each result's `context` is verbatim page text -- a real chunk of the actual page, not a short snippet -- and usually already contains the answer, so answer directly from it. Use `read_documentation` only when the chunks genuinely lack the needed detail.\n\nPick ONE topic. Add a 2nd ONLY if query genuinely spans domains. Extra topics dilute ranking.\n\n- reference_documentation -- API/SDK/CLI specs, config params\n- current_awareness -- new/released/announced\n- troubleshooting -- errors, \"how to fix\" (NOT for conceptual/feature questions)\n- amplify_docs -- Amplify (+ language)\n- cdk_docs -- CDK concepts/guides\n- cdk_constructs -- CDK code samples, L3\n- cloudformation -- CFN/SAM templates\n- strands_docs -- Strands Agents SDK (its Skills/agents concepts go here, NOT agent_skills)\n- agent_skills -- this tool's guided skills (load via `retrieve_skill`)\n- general (default) -- architecture, best practices, tutorials, feature behavior\n\nResults: rank_order (lower=better), url, title, context (verbatim page chunk -- answer directly from it).","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","description":"Maximum number of results to return (default 4)."},"search_phrase":{"type":"string","description":"Keywords; preserve exact error strings and all task terms verbatim."},"topics":{"type":"array","items":{"type":"string","description":"topic name"},"description":"Up to 3 from: reference_documentation, current_awareness, troubleshooting, amplify_docs, cdk_docs, cdk_constructs, cloudformation, agent_skills, strands_docs, general. Default [\"general\"]."}},"required":["search_phrase"]}},{"name":"aws___list_regions","description":"Retrieve a list of all AWS regions.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"aws___get_regional_availability","description":"AWS resource availability per region.\n\n- Max 10 regions; multi-region needs `filters`; single-region supports `next_token`.\n- Status: isAvailableIn | isNotAvailableIn | isPlannedIn | Not Found.\n- Response key: products | service_apis | cfn_resources.\n\nNot for region counts/docs/vague queries -- use `search_documentation` / `list_regions`.\n\nFilter values must EXACTLY match AWS's catalog names; guessed, partial, or pluralized names are rejected (\"values in filter parameter do not exist\"). If unsure of the exact name, first call once for a single region with resource_type set and NO filters to list all valid names, then re-call filtering on the exact match.","inputSchema":{"type":"object","properties":{"regions":{"type":"array","items":{"type":"string"},"description":"AWS region codes (max 10). Multi-region requires `filters`; single-region supports `next_token`."},"resource_type":{"type":"string","description":"Required: 'product' | 'api' | 'cfn'."},"filters":{"type":"array","items":{"type":"string"},"description":"Use exact AWS product or sub-feature name.\n\n- product: 'Amazon Bedrock' (service), or sub-features like 'Comprehend Auto Scaling', 'Latency-Based Routing', 'PrivateLink Support'. When the user names a specific sub-feature, filter on the sub-feature -- do NOT generalize to the parent service ('Amazon Comprehend'); that returns availability for the wrong scope.\n- api: 'SdkServiceId+Operation' (e.g. 'CloudFormation+CreateStack', 'IAM+GetSSHPublicKey') or 'SdkServiceId' (e.g. 'EC2'). Use a literal '+' between service and operation -- not space, colon, or hyphen.\n- cfn: 'AWS::EC2::Instance', 'AWS::Lambda::Function'.\n\nInclude every region the user named; don't add filters they didn't request.\n\nValues must EXACTLY match AWS's catalog (e.g. 'AWS Lambda', not 'Lambda' or 'AWS Lambda Service'). If unsure of the exact name, first call once for one region with NO filters to list valid names, then filter on the exact match."},"next_token":{"type":"string","description":"Pagination token. Single-region, no filters only."},"region":{"type":"string","description":"Unused; use `regions`."}},"required":["resource_type"]}},{"name":"aws___retrieve_skill","description":"Retrieve an AWS skill (workflows, references). Returns SKILL.md, or `file` if given.\n\nCall `search_documentation` FIRST and copy `skill_name` verbatim -- it is an opaque registry ID. Never guess or fabricate `skill_name` or `file`.","inputSchema":{"type":"object","properties":{"file":{"type":"string","description":"Optional file path within the skill, copied as cited (e.g. `references/architecture.md`). Don't add or strip a `references/` prefix. Omit for SKILL.md."},"skill_name":{"type":"string","description":"Required. Exact `skill_name` from a search_documentation result, copied verbatim. Do not invent or modify."}},"required":["skill_name"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-23 14:26:46","lastCheckedAt":"2026-08-28 22:18:01","mcpAgentSnippet":{"type":"url","url":"https://knowledge-mcp.global.api.aws/tools","name":"knowledge-mcp-global-api-aws-tools"}},{"id":"knowledge-mcp-global-api-aws-rpc","name":"Path expansion from https://knowledge-mcp.global.api.aws","description":"Path expansion from https://knowledge-mcp.global.api.aws","url":"https://knowledge-mcp.global.api.aws/rpc","sourceUrl":"https://knowledge-mcp.global.api.aws","transport":"http","specVersion":"2025-03-26","status":"active","validated":true,"score":98,"latencyP50":54,"toolCount":5,"tools":[{"name":"aws___read_documentation","description":"Fetch full AWS doc pages as markdown. `search_documentation` already returns verbatim page chunks, so don't re-read a URL whose chunk you already have to \"confirm\" or \"round out\" an answer -- the chunk is the real page text; treat it as authoritative.\n\nReading the full page is justified ONLY when the chunks genuinely lack the content:\n- an enumeration or aggregation (\"list all X\", \"how many X\") needs the complete set and the chunks show only part of it;\n- no search result is on-topic after refining the query, and a known doc URL would have the answer.\nOtherwise, answer from the chunks. Use exact URLs from `search_documentation`; don't guess slugs.\n\nInput: `requests: [{url, max_length?, start_index?}]`. Batch 2-5.\n- `max_length` default 10000.\n- `start_index` default 0; use prior `end_index` to continue, TOC offset to jump.\n\nAllow-listed prefixes: docs.aws.amazon.com; aws.amazon.com (not /marketplace); repost.aws/knowledge-center; docs.amplify.aws; ui.docs.amplify.aws; github.com/{aws-cloudformation/aws-cloudformation-templates, aws-samples/{aws-cdk-examples, generative-ai-cdk-constructs-samples, serverless-patterns}, awsdocs/aws-cdk-guide, awslabs/aws-solutions-constructs, cdklabs/cdk-nag} (README on `main`); constructs.dev/packages/{@aws-cdk-containers, @aws-cdk, @cdk-cloudformation, aws-analytics-reference-architecture, aws-cdk-lib, cdk-amazon-chime-resources, cdk-aws-lambda-powertools-layer, cdk-ecr-deployment, cdk-lambda-powertools-python-layer, cdk-serverless-clamscan, cdk8s, cdk8s-plus-33}; strandsagents.com/latest/documentation/docs/; karpenter.sh/docs/; Amazon Braket: {amazon-braket-sdk-python, amazon-braket-schemas-python, amazon-braket-default-simulator-python, amazon-braket-pennylane-plugin-python, amazon-braket-algorithm-library, qiskit-braket-provider, autoqasm, qirtoqasm}.readthedocs.io and github.com/amazon-braket/* (blob/tree/raw).\n\nOutput: SUCCESS -- markdown + `total_length, start_index, end_index, truncated, redirected_url?` (truncated includes TOC with char ranges). ERROR -- `error_code` in {not_found, invalid_url, throttled, downstream_error, validation_error}.","inputSchema":{"type":"object","properties":{"requests":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","description":"Doc URL with allow-listed prefix; use exact URL from search."},"max_length":{"type":"integer","description":"Chars returned (default 10000)."},"start_index":{"type":"integer","description":"Char offset (default 0). Use prior `end_index` to continue, or TOC offset to jump."}},"required":["url"]},"description":"List of `{url, max_length?, start_index?}`. Batch 2-5."}},"required":[]}},{"name":"aws___search_documentation","description":"AWS docs search. Each result's `context` is verbatim page text -- a real chunk of the actual page, not a short snippet -- and usually already contains the answer, so answer directly from it. Use `read_documentation` only when the chunks genuinely lack the needed detail.\n\nPick ONE topic. Add a 2nd ONLY if query genuinely spans domains. Extra topics dilute ranking.\n\n- reference_documentation -- API/SDK/CLI specs, config params\n- current_awareness -- new/released/announced\n- troubleshooting -- errors, \"how to fix\" (NOT for conceptual/feature questions)\n- amplify_docs -- Amplify (+ language)\n- cdk_docs -- CDK concepts/guides\n- cdk_constructs -- CDK code samples, L3\n- cloudformation -- CFN/SAM templates\n- strands_docs -- Strands Agents SDK (its Skills/agents concepts go here, NOT agent_skills)\n- agent_skills -- this tool's guided skills (load via `retrieve_skill`)\n- general (default) -- architecture, best practices, tutorials, feature behavior\n\nResults: rank_order (lower=better), url, title, context (verbatim page chunk -- answer directly from it).","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","description":"Maximum number of results to return (default 4)."},"search_phrase":{"type":"string","description":"Keywords; preserve exact error strings and all task terms verbatim."},"topics":{"type":"array","items":{"type":"string","description":"topic name"},"description":"Up to 3 from: reference_documentation, current_awareness, troubleshooting, amplify_docs, cdk_docs, cdk_constructs, cloudformation, agent_skills, strands_docs, general. Default [\"general\"]."}},"required":["search_phrase"]}},{"name":"aws___list_regions","description":"Retrieve a list of all AWS regions.","inputSchema":{"type":"object","properties":{},"required":[]}},{"name":"aws___get_regional_availability","description":"AWS resource availability per region.\n\n- Max 10 regions; multi-region needs `filters`; single-region supports `next_token`.\n- Status: isAvailableIn | isNotAvailableIn | isPlannedIn | Not Found.\n- Response key: products | service_apis | cfn_resources.\n\nNot for region counts/docs/vague queries -- use `search_documentation` / `list_regions`.\n\nFilter values must EXACTLY match AWS's catalog names; guessed, partial, or pluralized names are rejected (\"values in filter parameter do not exist\"). If unsure of the exact name, first call once for a single region with resource_type set and NO filters to list all valid names, then re-call filtering on the exact match.","inputSchema":{"type":"object","properties":{"regions":{"type":"array","items":{"type":"string"},"description":"AWS region codes (max 10). Multi-region requires `filters`; single-region supports `next_token`."},"resource_type":{"type":"string","description":"Required: 'product' | 'api' | 'cfn'."},"filters":{"type":"array","items":{"type":"string"},"description":"Use exact AWS product or sub-feature name.\n\n- product: 'Amazon Bedrock' (service), or sub-features like 'Comprehend Auto Scaling', 'Latency-Based Routing', 'PrivateLink Support'. When the user names a specific sub-feature, filter on the sub-feature -- do NOT generalize to the parent service ('Amazon Comprehend'); that returns availability for the wrong scope.\n- api: 'SdkServiceId+Operation' (e.g. 'CloudFormation+CreateStack', 'IAM+GetSSHPublicKey') or 'SdkServiceId' (e.g. 'EC2'). Use a literal '+' between service and operation -- not space, colon, or hyphen.\n- cfn: 'AWS::EC2::Instance', 'AWS::Lambda::Function'.\n\nInclude every region the user named; don't add filters they didn't request.\n\nValues must EXACTLY match AWS's catalog (e.g. 'AWS Lambda', not 'Lambda' or 'AWS Lambda Service'). If unsure of the exact name, first call once for one region with NO filters to list valid names, then filter on the exact match."},"next_token":{"type":"string","description":"Pagination token. Single-region, no filters only."},"region":{"type":"string","description":"Unused; use `regions`."}},"required":["resource_type"]}},{"name":"aws___retrieve_skill","description":"Retrieve an AWS skill (workflows, references). Returns SKILL.md, or `file` if given.\n\nCall `search_documentation` FIRST and copy `skill_name` verbatim -- it is an opaque registry ID. Never guess or fabricate `skill_name` or `file`.","inputSchema":{"type":"object","properties":{"file":{"type":"string","description":"Optional file path within the skill, copied as cited (e.g. `references/architecture.md`). Don't add or strip a `references/` prefix. Omit for SKILL.md."},"skill_name":{"type":"string","description":"Required. Exact `skill_name` from a search_documentation result, copied verbatim. Do not invent or modify."}},"required":["skill_name"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-23 14:26:46","lastCheckedAt":"2026-08-28 22:18:01","mcpAgentSnippet":{"type":"url","url":"https://knowledge-mcp.global.api.aws/rpc","name":"knowledge-mcp-global-api-aws-rpc"}},{"id":"mcp-server-wporg-trac-staging-a8cai-workers-dev-mcp","name":"Cloudflare Workers MCP endpoint from courtneyr-dev/wp-dev-prompts","description":"Cloudflare Workers MCP endpoint from courtneyr-dev/wp-dev-prompts","url":"https://mcp-server-wporg-trac-staging.a8cai.workers.dev/mcp","sourceUrl":"https://github.com/courtneyr-dev/wp-dev-prompts/blob/main/platforms/claude-code/README.md","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":96,"latencyP50":78,"toolCount":5,"tools":[{"name":"searchTickets","description":"Search for WordPress Trac tickets by keyword or filter expression. Returns ticket summaries with basic info.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search query for tickets (keywords or filter expressions like 'summary~=keyword')"},"limit":{"type":"number","description":"Maximum number of results to return (default: 10, max: 50)","default":10},"status":{"type":"string","description":"Filter by ticket status (e.g., 'open', 'closed', 'new')"},"component":{"type":"string","description":"Filter by component name (e.g., 'Administration', 'Posts, Post Types')"}},"required":["query"]}},{"name":"getTicket","description":"Get detailed information about a specific WordPress Trac ticket including description, comments, and metadata.","inputSchema":{"type":"object","properties":{"id":{"type":"number","description":"Trac ticket ID number"},"includeComments":{"type":"boolean","description":"Include ticket comments and discussion (default: true)","default":true},"commentLimit":{"type":"number","description":"Maximum number of comments to return (default: 10, max: 50)","default":10}},"required":["id"]}},{"name":"getChangeset","description":"Get information about a specific WordPress code changeset/commit including commit message, author, and diff.","inputSchema":{"type":"object","properties":{"revision":{"type":"number","description":"SVN revision number (e.g., 58504)"},"includeDiff":{"type":"boolean","description":"Include diff content (default: true)","default":true},"diffLimit":{"type":"number","description":"Maximum characters of diff to return (default: 2000, max: 10000)","default":2000}},"required":["revision"]}},{"name":"getTimeline","description":"Get recent activity from WordPress Trac timeline including recent tickets, commits, and other events.","inputSchema":{"type":"object","properties":{"days":{"type":"number","description":"Number of days to look back (default: 7, max: 30)","default":7},"limit":{"type":"number","description":"Maximum number of events to return (default: 20, max: 100)","default":20}}}},{"name":"getTracInfo","description":"Get WordPress Trac metadata like components, milestones, priorities, and severities.","inputSchema":{"type":"object","properties":{"type":{"type":"string","enum":["components","milestones","priorities","severities"],"description":"Type of Trac information to retrieve"}},"required":["type"]}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-27 19:37:02","lastCheckedAt":"2026-08-28 22:17:58","mcpAgentSnippet":{"type":"url","url":"https://mcp-server-wporg-trac-staging.a8cai.workers.dev/mcp","name":"mcp-server-wporg-trac-staging-a8cai-workers-dev-mcp"}},{"id":"mcp-mnemonik-xyz","name":"Subdomain expansion: mcp.mnemonik.xyz","description":"Subdomain expansion: mcp.mnemonik.xyz","url":"https://mcp.mnemonik.xyz/","sourceUrl":"https://mnemonik.xyz/","transport":"http","specVersion":"2025-06-18","status":"active","validated":true,"score":97,"latencyP50":61,"toolCount":8,"tools":[{"name":"mnemonic_whoami","description":"Returns this agent's cryptographic identity: Solana public key, did:sol, did:key, attestation count\n\nPurpose: Report on the local Mnemonic installation's health: which host configs contain a mnemonik entry, whether the hosted endpoint is reachable, binary integrity, local SQLite read/write, identity availability, and token availability. Use when the user reports something is broken, or when the agent needs to know which capabilities are currently available before suggesting a workflow.\n\nTrigger: **Positive examples (DO use):**\n\n- The user reports an error and the agent does not know which subsystem failed — status gives a triage map.\n- The user just finished installing and wants to confirm everything is wired correctly.\n- The agent is about to suggest a participate-mode flow and wants to confirm the token / OAuth path is healthy first.\n- The user asks \"is this working\", \"is mnemonik set up\", \"what's the state of my install\".\n\n**Negative examples (DO NOT use):**\n\n- The user has explicitly described the problem already (e.g., \"my SQLite is locked\") — go directly to the fix, do not run status to rediscover it.\n- The user is in the middle of a working operation — status interrupts the flow.\n- Every connection or every tool call — status is for diagnosis, not a health check on the happy path.","inputSchema":{"properties":{},"type":"object"}},{"name":"mnemonic_sign_memory","description":"Creates a verifiable memory attestation: canonical CBOR + blake3 hash, signed with COSE_Sign1 (Ed25519), stored on Arweave, hash anchored as SPL Memo on Solana\n\nPurpose: Persist a verifiable, signed memory of a consequential decision or outcome so future agents (and the user) can recall it with cryptographic provenance. Use after something is **decided and stable**, not while it is being explored.\n\nTrigger: This skill is load-bearing for adoption: over-attesting pollutes the user's memory pool with scratch, under-attesting defeats the protocol. The boundary is consequentiality plus stability — has something concrete happened that another agent or the user will benefit from recalling later.\n\n**Positive examples (DO attest):**\n\n- A code change has been committed (commit landed on a branch, not just staged in an editor) and the rationale or constraint that drove the choice is non-obvious from the diff alone.\n- A design decision was recorded — e.g., \"we picked SQLite over Postgres for the local store because the protocol must work offline.\"\n- A research conclusion was reached — e.g., \"the third-party library X cannot meet our latency target, so we will inline the parser.\"\n- A bug's root cause was confirmed (not just suspected) and a fix landed.\n- The user explicitly says \"remember this\", \"save this\", \"note this for next time\", or equivalent.\n- A milestone was reached: feature shipped, release cut, incident resolved.\n\n**Negative examples (DO NOT attest):**\n\n- The user is iterating on a draft (code, document, prompt) and the current state is intermediate scratch — wait until the iteration converges.\n- Intermediate tool output or transient state (a `cargo build` log, a `git status` snapshot, a directory listing) — these are reproducible and have no lasting value.\n- The user marked the content off-record, said \"don't save this\", asked you to discard a draft, or is venting privately.\n- The decision has not been made yet — the conversation is exploring alternatives.\n- The \"fact\" is unverified speculation, a guess, or contradicted by other context in the conversation.\n- The content contains secrets, credentials, PII, or anything the user would not want stored in a verifiable, potentially-public record. Attestations are signed and immutable; redaction is not possible after the fact.\n- The user is in a sandbox / test session and explicitly so.","inputSchema":{"properties":{"content":{"description":"Content to attest","type":"string"},"mode":{"description":"Per-request write intent (T2 — modes-user-choice). 'local' keeps the artifact on the server's own SQLite (free, no chain writes). 'participate' anchors on Arweave + Solana (paid on hosted operators; cost surfaced via mnemonic_whoami). Optional — omit to use the server's default; call mnemonic_whoami to see supported_modes / default_mode / participate_cost first.","enum":["local","participate"],"type":"string"},"tags":{"description":"Optional tags","items":{"type":"string"},"type":"array"}},"required":["content"],"type":"object"}},{"name":"mnemonic_verify","description":"Verifies a memory attestation by recomputing hash and comparing against on-chain record\n\nPurpose: Confirm that a specific attestation is genuine: its content hash matches what is anchored on-chain, the COSE_Sign1 signature is valid against the claimed signer, and (for participate-mode rows) the Arweave and Solana records exist and agree. Use when the user wants cryptographic certainty about a recalled memory, or before relying on a third-party-claimed attestation.\n\nTrigger: **Positive examples (DO use):**\n\n- The user just received an attestation_id from another party and asks \"is this real\" or \"verify this\".\n- The user is about to act on a recalled memory whose authenticity matters (e.g., a recorded decision is being cited as authority) — verify it first.\n- A recall result has a low score AND the user wants to confirm the row is at least cryptographically intact even if not a great semantic match.\n- A `participate`-mode attestation needs to be confirmed as actually anchored — the on-chain confirmation is what `verify` produces.\n\n**Negative examples (DO NOT use):**\n\n- The user just attested something themselves seconds ago — the sign_memory response already confirms it was stored. Re-verification is redundant.\n- Every recall result — verifying every row on every recall is wasteful. Only verify when authenticity actually matters for the next action.\n- The user is debugging a hash mismatch they already understand — surface the mismatch, do not loop on verify.\n- Local-mode rows that have synthetic `local:` tx IDs — verify cannot reach a chain for them; it can only confirm the local signature.","inputSchema":{"properties":{"arweave_tx":{"description":"Arweave TX ID","type":"string"},"solana_tx":{"description":"Solana TX signature","type":"string"}},"type":"object"}},{"name":"mnemonic_prove_identity","description":"Signs a challenge with Ed25519 key, proving identity without on-chain transaction\n\nPurpose: Guide the user through first-time setup so Mnemonic is wired into their MCP-capable agent host (Claude Code, Claude Desktop, Cursor) and the local pipeline is ready for offline attestations. Use when the user is connecting to Mnemonic for the first time, or when the agent has detected the CLI is not installed.\n\nTrigger: **Positive examples (DO use):**\n\n- The user is connected to the hosted `mcp.mnemonik.xyz` endpoint anonymously and asks \"how do I install this locally\" or \"how do I save things\".\n- A `tools/call` returned an error indicating the local binary is not present (e.g., user is on hosted-only and tries a local-mode write).\n- The user explicitly asks for setup instructions, \"how do I install mnemonik\", \"get started with mnemonik\".\n- `mnemonik-status` reports the host config does not contain a mnemonik entry.\n\n**Negative examples (DO NOT use):**\n\n- The user already has a working install (e.g., `mnemonik-status` says all checks pass).\n- The user is mid-operation (writing an attestation, doing a recall) — do not detour through install.\n- The user is on a hosted-only path and explicitly does not want to install anything locally — respect that and offer anonymous recall instead.","inputSchema":{"properties":{"challenge":{"description":"Challenge to sign","type":"string"}},"required":["challenge"],"type":"object"}},{"name":"mnemonic_recall","description":"Searches attested memory history using semantic similarity\n\nPurpose: Search the user's attested memory pool (or the public pool, if anonymous) by semantic similarity and return matching attestations ranked by relevance. Use when the user (or the current task) needs prior context that a stored memory likely captured.\n\nTrigger: **Positive examples (DO use):**\n\n- The user asks \"what did I decide about X\", \"why did we pick Y\", \"have I worked on Z before\".\n- The current task starts and the agent needs prior context — recall on the project name or module to pull what was previously attested.\n- The user references a past decision vaguely (\"the thing we figured out about auth last month\") — recall on the topic.\n- Anonymous discovery: the user wants to see public attestations on a topic and the agent has no auth — anonymous recall against the hosted endpoint returns only `visibility=public` rows.\n\n**Negative examples (DO NOT use):**\n\n- The user is asking for live data (current weather, current git log, current PR list) that an attestation cannot provide — use the appropriate live tool.\n- The user is asking for general knowledge unrelated to their own attested memory — answer from your own knowledge or use a search tool.\n- The recall would be on an empty query, a single word with no semantic content, or otherwise too thin to return useful results.","inputSchema":{"properties":{"limit":{"default":5,"description":"Max results","type":"integer"},"query":{"description":"Search query","type":"string"}},"required":["query"],"type":"object"}},{"name":"mnemonic_check_pending","description":"Resolves a deferred-sign correlation_id to its on-chain state. Use this AFTER mnemonic_sign_memory returns awaiting_signature and the user has approved in the browser. Returns {status: 'signed', solana_tx, arweave_tx, solana_explorer_url, arweave_url, attestation_id, ...} on success, {status: 'awaiting_signature'} if user has not approved yet, or {status: 'not_found'} if expired.\n\nPurpose: Persist a verifiable, signed memory of a consequential decision or outcome so future agents (and the user) can recall it with cryptographic provenance. Use after something is **decided and stable**, not while it is being explored.\n\nTrigger: This skill is load-bearing for adoption: over-attesting pollutes the user's memory pool with scratch, under-attesting defeats the protocol. The boundary is consequentiality plus stability — has something concrete happened that another agent or the user will benefit from recalling later.\n\n**Positive examples (DO attest):**\n\n- A code change has been committed (commit landed on a branch, not just staged in an editor) and the rationale or constraint that drove the choice is non-obvious from the diff alone.\n- A design decision was recorded — e.g., \"we picked SQLite over Postgres for the local store because the protocol must work offline.\"\n- A research conclusion was reached — e.g., \"the third-party library X cannot meet our latency target, so we will inline the parser.\"\n- A bug's root cause was confirmed (not just suspected) and a fix landed.\n- The user explicitly says \"remember this\", \"save this\", \"note this for next time\", or equivalent.\n- A milestone was reached: feature shipped, release cut, incident resolved.\n\n**Negative examples (DO NOT attest):**\n\n- The user is iterating on a draft (code, document, prompt) and the current state is intermediate scratch — wait until the iteration converges.\n- Intermediate tool output or transient state (a `cargo build` log, a `git status` snapshot, a directory listing) — these are reproducible and have no lasting value.\n- The user marked the content off-record, said \"don't save this\", asked you to discard a draft, or is venting privately.\n- The decision has not been made yet — the conversation is exploring alternatives.\n- The \"fact\" is unverified speculation, a guess, or contradicted by other context in the conversation.\n- The content contains secrets, credentials, PII, or anything the user would not want stored in a verifiable, potentially-public record. Attestations are signed and immutable; redaction is not possible after the fact.\n- The user is in a sandbox / test session and explicitly so.","inputSchema":{"properties":{"correlation_id":{"description":"The correlation_id returned by mnemonic_sign_memory's awaiting_signature response","type":"string"}},"required":["correlation_id"],"type":"object"}},{"name":"request_public_write_confirmation","description":"Public-write ceremony gate: presents the content_hash about to be anchored on Arweave + Solana so the user can confirm or refuse in-turn before any chain write fires. Consumed by Task 4's handler; not user-facing — agent skills invoke it inline whenever they intend to issue a `mode='participate'` write with `visibility='public'`.","inputSchema":{"properties":{"content_hash":{"description":"blake3 hex of the canonical-CBOR bundle the caller is about to anchor","type":"string"}},"required":["content_hash"],"type":"object"}},{"name":"mnemonic_publish_post","description":"Publishes a blog post as a signed PUBLIC attestation (agent-native publishing, webapp-rethink Decision 5). The post is signed with COSE_Sign1 (Ed25519) by the server identity, stored as a free `local` public attestation (no x402, no on-chain anchoring in V1), and listed at GET /blog. Requires authentication (OAuth2 Bearer / Ed25519). Returns the created post {slug, title, body_markdown, tags, author, attestation_id, content_hash, published_at}.","inputSchema":{"properties":{"author":{"description":"Optional human-readable agent/display name; defaults to the caller's identity. Distinct from the cryptographic signer (producer).","type":"string"},"body_markdown":{"description":"Post body as Markdown (rendered client-side; content_hash commits to this source)","type":"string"},"tags":{"description":"Optional tags","items":{"type":"string"},"type":"array"},"title":{"description":"Post title; slugified into the URL (slug is the primary key — re-publishing the same title replaces the post)","type":"string"}},"required":["title","body_markdown"],"type":"object"}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-27 13:54:33","lastCheckedAt":"2026-08-28 22:17:48","mcpAgentSnippet":{"type":"url","url":"https://mcp.mnemonik.xyz/","name":"mcp-mnemonik-xyz"}},{"id":"mcp-icecat-biz-tools","name":"Path expansion from https://mcp.icecat.biz","description":"Path expansion from https://mcp.icecat.biz","url":"https://mcp.icecat.biz/tools","sourceUrl":"https://mcp.icecat.biz","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":98,"latencyP50":42,"toolCount":19,"tools":[{"name":"product_360_view","description":"Returns 360° view images.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_additional_documents","description":"Returns additional product documents not classified in other tools.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_analytics","description":"Retrieves product popularity information based on the total product downloads from Icecat. Use this tool when the user requests product popularity analytics.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_brand_contacts","description":"Returns brand-related legal and regulatory contact organizations for the product, including GPSR economic operators.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_certificates","description":"Returns safety, compliance, and sustainability documents.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_description","description":"Returns brand-authored descriptive and marketing text only. Do NOT use for: specs, warranty, identifiers, images.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_gallery","description":"Returns product images.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_identifiers","description":"Returns basic product identifiers only. Use only for: brand, code, GTINs, category, family, series, model, title.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_leaflet","description":"Returns product leaflets.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_lifecycle","description":"Returns product lifecycle information.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_manual","description":"Returns product manuals.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_overview","description":"Returns complete aggregated product information. Use only when full or complete product information is explicitly requested.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_reasons_to_buy","description":"Returns structured promotional selling points for a product.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_related","description":"Returns related products for a given product.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_review","description":"Returns product reviews.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_specs","description":"Returns structured technical specifications. Use only for: detailed features or attributes.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_story","description":"Returns product story.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_video","description":"Returns product videos.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_warranty","description":"Returns warranty data only.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 07:26:02","lastCheckedAt":"2026-08-28 22:17:34","mcpAgentSnippet":{"type":"url","url":"https://mcp.icecat.biz/tools","name":"mcp-icecat-biz-tools"}},{"id":"mcp-icecat-biz-nuqm78","name":"Subdomain expansion: mcp.icecat.biz","description":"Subdomain expansion: mcp.icecat.biz","url":"https://mcp.icecat.biz/","sourceUrl":"https://icecat.biz/","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":98,"latencyP50":43,"toolCount":19,"tools":[{"name":"product_360_view","description":"Returns 360° view images.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_additional_documents","description":"Returns additional product documents not classified in other tools.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_analytics","description":"Retrieves product popularity information based on the total product downloads from Icecat. Use this tool when the user requests product popularity analytics.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_brand_contacts","description":"Returns brand-related legal and regulatory contact organizations for the product, including GPSR economic operators.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_certificates","description":"Returns safety, compliance, and sustainability documents.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_description","description":"Returns brand-authored descriptive and marketing text only. Do NOT use for: specs, warranty, identifiers, images.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_gallery","description":"Returns product images.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_identifiers","description":"Returns basic product identifiers only. Use only for: brand, code, GTINs, category, family, series, model, title.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_leaflet","description":"Returns product leaflets.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_lifecycle","description":"Returns product lifecycle information.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_manual","description":"Returns product manuals.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_overview","description":"Returns complete aggregated product information. Use only when full or complete product information is explicitly requested.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_reasons_to_buy","description":"Returns structured promotional selling points for a product.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_related","description":"Returns related products for a given product.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_review","description":"Returns product reviews.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_specs","description":"Returns structured technical specifications. Use only for: detailed features or attributes.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_story","description":"Returns product story.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_video","description":"Returns product videos.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_warranty","description":"Returns warranty data only.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 07:26:02","lastCheckedAt":"2026-08-28 22:17:34","mcpAgentSnippet":{"type":"url","url":"https://mcp.icecat.biz/","name":"mcp-icecat-biz-nuqm78"}},{"id":"mcp-icecat-biz-mcp","name":"Subdomain expansion: mcp.icecat.biz","description":"Subdomain expansion: mcp.icecat.biz","url":"https://mcp.icecat.biz/mcp","sourceUrl":"https://icecat.biz/","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":98,"latencyP50":40,"toolCount":19,"tools":[{"name":"product_360_view","description":"Returns 360° view images.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_additional_documents","description":"Returns additional product documents not classified in other tools.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_analytics","description":"Retrieves product popularity information based on the total product downloads from Icecat. Use this tool when the user requests product popularity analytics.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_brand_contacts","description":"Returns brand-related legal and regulatory contact organizations for the product, including GPSR economic operators.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_certificates","description":"Returns safety, compliance, and sustainability documents.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_description","description":"Returns brand-authored descriptive and marketing text only. Do NOT use for: specs, warranty, identifiers, images.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_gallery","description":"Returns product images.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_identifiers","description":"Returns basic product identifiers only. Use only for: brand, code, GTINs, category, family, series, model, title.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_leaflet","description":"Returns product leaflets.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_lifecycle","description":"Returns product lifecycle information.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_manual","description":"Returns product manuals.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_overview","description":"Returns complete aggregated product information. Use only when full or complete product information is explicitly requested.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_reasons_to_buy","description":"Returns structured promotional selling points for a product.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_related","description":"Returns related products for a given product.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_review","description":"Returns product reviews.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_specs","description":"Returns structured technical specifications. Use only for: detailed features or attributes.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_story","description":"Returns product story.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_video","description":"Returns product videos.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_warranty","description":"Returns warranty data only.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 07:26:02","lastCheckedAt":"2026-08-28 22:17:34","mcpAgentSnippet":{"type":"url","url":"https://mcp.icecat.biz/mcp","name":"mcp-icecat-biz-mcp"}},{"id":"mcp-icecat-biz-mcp-json","name":"Path expansion from https://mcp.icecat.biz","description":"Path expansion from https://mcp.icecat.biz","url":"https://mcp.icecat.biz/mcp.json","sourceUrl":"https://mcp.icecat.biz","transport":"http","specVersion":"2024-11-05","status":"active","validated":true,"score":96,"latencyP50":43,"toolCount":19,"tools":[{"name":"product_360_view","description":"Returns 360° view images.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_additional_documents","description":"Returns additional product documents not classified in other tools.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_analytics","description":"Retrieves product popularity information based on the total product downloads from Icecat. Use this tool when the user requests product popularity analytics.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_brand_contacts","description":"Returns brand-related legal and regulatory contact organizations for the product, including GPSR economic operators.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_certificates","description":"Returns safety, compliance, and sustainability documents.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_description","description":"Returns brand-authored descriptive and marketing text only. Do NOT use for: specs, warranty, identifiers, images.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_gallery","description":"Returns product images.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_identifiers","description":"Returns basic product identifiers only. Use only for: brand, code, GTINs, category, family, series, model, title.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_leaflet","description":"Returns product leaflets.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_lifecycle","description":"Returns product lifecycle information.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_manual","description":"Returns product manuals.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_overview","description":"Returns complete aggregated product information. Use only when full or complete product information is explicitly requested.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_reasons_to_buy","description":"Returns structured promotional selling points for a product.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_related","description":"Returns related products for a given product.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_review","description":"Returns product reviews.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_specs","description":"Returns structured technical specifications. Use only for: detailed features or attributes.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_story","description":"Returns product story.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_video","description":"Returns product videos.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}},{"name":"product_warranty","description":"Returns warranty data only.","inputSchema":{"type":"object","properties":{"brand_name":{"description":"Brand name. Required only with product_code. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"},"gtin":{"description":"Global Trade Item Number. Overrides brand_name + product_code. Use GTIN exclusively when valid.","maxLength":14,"minLength":1,"type":"string"},"product_code":{"description":"Manufacturer product code. Required only with brand_name. Ignored if GTIN is present.","maxLength":60,"minLength":1,"type":"string"}}}}],"tags":[],"authRequired":false,"authProvider":null,"firstSeenAt":"2026-05-29 07:26:02","lastCheckedAt":"2026-08-28 22:17:30","mcpAgentSnippet":{"type":"url","url":"https://mcp.icecat.biz/mcp.json","name":"mcp-icecat-biz-mcp-json"}}]}