Stackhal MCP
A public, read-only MCP server providing developer tools for DNS, email security, SEO, and infrastructure diagnostics. It exposes tools for auditing websites, analyzing GEO readiness, inspecting domain security, transpiling configurations, and validating app links.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://stackhal.com/mcpWhat its tools do
13 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Audit website SEO and technical health
- Inspect domain email security (DMARC, SPF)
- Transpile Nginx/Apache configs to Caddyfile
- Trace DNS delegation and propagation
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- StackHal DevTools & Audits MCP 1.2.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 13 advertised
- Resources
- 0 advertised
- Resource templates
- 0 advertised
- Prompts
- 0 advertised
{
"tools": {
"listChanged": true
},
"logging": {},
"prompts": {
"listChanged": true
},
"resources": {
"listChanged": true
},
"completions": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
13 advertised
validate_app_links — Validate Universal Links and App Links
Inspect and validate Apple App Site Association (apple-app-site-association) and Android Digital Asset Links (assetlinks.json) files, HTTPS hosting rules, and test URL path routing, and compare the origin AASA with the copy on Apple's CDN.
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "The target domain name (e.g. \"example.com\") hosting universal link and asset link files."
},
"test_url": {
"type": [
"null",
"string"
],
"default": null,
"description": "Optional web URL path to test against Apple AASA components and exclusion routing patterns."
}
}
}{
"readOnlyHint": true,
"openWorldHint": true
}audit_website_seo — Technical SEO Audit
Run a deterministic technical SEO audit for a public website URL. Checks canonicals, title tags, headings, robots.txt, sitemaps, redirects, crawl traps, and indexability.
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The public website URL to audit (e.g. https://example.com)."
}
}
}{
"readOnlyHint": true,
"openWorldHint": true
}transpile_to_caddyfile — Convert Nginx or Apache Config to Caddyfile
Transpile Nginx (nginx.conf, server blocks) or Apache (.htaccess, VirtualHost) web server configuration to clean, idiomatic Caddyfile with migration advisories.
{
"type": "object",
"required": [
"config_content"
],
"properties": {
"server_type": {
"type": [
"null",
"string"
],
"default": null,
"description": "Optional source server type: \"nginx\" or \"apache\". If omitted, auto-detected from content syntax."
},
"config_content": {
"type": "string",
"description": "The raw web server configuration string (nginx.conf, server block, .htaccess, or VirtualHost) to transpile."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}calculate_cidr_overlap — Calculate CIDR Overlap
Analyze IPv4/IPv6 CIDR subnets for range collisions, full containment, 2D bit-tree matrix partition, and available free subnet allocation.
{
"type": "object",
"required": [
"cidrs"
],
"properties": {
"cidrs": {
"type": "array",
"items": {
"type": "object"
},
"description": "Array of IPv4 or IPv6 CIDR strings to analyze for collisions and tree partition."
},
"parent_cidr": {
"type": [
"null",
"string"
],
"default": null,
"description": "Optional parent CIDR string (e.g. 10.0.0.0/16) to constrain free subnet allocation search."
},
"requested_free_prefix": {
"type": [
"null",
"integer"
],
"default": null,
"description": "Optional target prefix length (e.g. 20, 24) to find available free subnet block inside parent range."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}diagnose_cors_policy — Diagnose CORS Policy
Analyze CORS HTTP request and response headers for wildcard/credential security violations, missing Vary: Origin, preflight OPTIONS handling, and header exposure.
{
"type": "object",
"required": [
"request_origin",
"response_headers"
],
"properties": {
"request_origin": {
"type": "string",
"description": "The incoming HTTP request Origin header (e.g. \"https://app.example.com\")."
},
"response_headers": {
"type": "array",
"items": {},
"description": "The server HTTP response headers (as key-value map or list of \"Header: Value\" strings)."
},
"with_credentials": {
"type": [
"null",
"boolean"
],
"default": false,
"description": "Whether the cross-origin request includes cookies or authorization credentials."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}trace_dns_delegation — Trace DNS Delegation
Query live DNS records and inspect the authoritative nameservers returned for a domain.
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "The target domain name (e.g. \"example.com\") to query using the application host resolver."
},
"query_type": {
"type": [
"null",
"string"
],
"default": "A",
"description": "Optional DNS record type: \"A\" (default), \"AAAA\", \"CNAME\", \"TXT\", \"MX\", \"NS\", \"SOA\", or \"CAA\"."
}
}
}{
"readOnlyHint": true,
"openWorldHint": true
}inspect_domain_security — Inspect Domain Email Security
Inspect domain email security and deliverability standards: DMARC (BIMI compliance), BIMI DNS & SVG reachability, MTA-STS (RFC 8461), SMTP TLS-RPT (RFC 8460), SPF and MX records.
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "The domain name to inspect (e.g. stripe.com, example.com)."
}
}
}{
"readOnlyHint": true,
"openWorldHint": true
}generate_favicon_suite — Generate Favicon Suite
Generate modern multi-platform favicon bundle (adaptive dark-mode SVG, multi-resolution ICO, Apple Touch Icon, Android PWA icons, webmanifest) and minimal HTML tags from SVG or image input.
{
"type": "object",
"required": [
"svg_content"
],
"properties": {
"svg_content": {
"type": "string",
"description": "The raw SVG XML markup string to convert into modern multi-platform favicon suite."
},
"dark_mode_strategy": {
"type": [
"null",
"string"
],
"default": "css_invert_fill",
"description": "Optional dark mode strategy: \"css_invert_fill\" (default), \"css_class_swap\", or \"preserve_colors\"."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}analyze_geo_readiness — Analyze GEO Readiness
Analyze Generative Engine Optimization (GEO) signals and AI crawler readiness for a web page (schema, citations, provenance, answer structure, llms.txt, AI bot robots rules).
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The web page URL to analyze for GEO readiness."
}
}
}{
"readOnlyHint": true,
"openWorldHint": true
}inspect_apple_pkpass — Inspect Apple Wallet Pass
Inspect and validate Apple Wallet .pkpass JSON structure (pass.json) or package manifests: checks required keys, pass styles, dates, ISO 8601 timezones, transit types, barcodes, and color contrast.
{
"type": "object",
"required": [
"pass_json"
],
"properties": {
"pass_json": {
"type": "string",
"description": "The raw pass.json JSON string to inspect and validate."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}generate_apple_pkpass_spec — Generate Apple Wallet pass.json
Generate a production-ready, fully compliant Apple Wallet pass.json specification based on pass type, metadata, colors, barcode, and field values.
{
"type": "object",
"required": [
"pass_type",
"organization_name",
"description"
],
"properties": {
"pass_type": {
"type": "string",
"description": "Pass style type: \"boardingPass\", \"eventTicket\", \"storeCard\", \"coupon\", or \"generic\"."
},
"description": {
"type": "string",
"description": "Human-readable description of the pass, e.g. \"Flight from SFO to WAW\"."
},
"label_color": {
"type": [
"null",
"string"
],
"default": null,
"description": "Label text color as CSS rgb(r, g, b), e.g. \"rgb(148, 163, 184)\"."
},
"transit_type": {
"type": [
"null",
"string"
],
"default": null,
"description": "Transit type for boardingPass: \"PKTransitTypeAir\", \"PKTransitTypeTrain\", \"PKTransitTypeBus\", \"PKTransitTypeBoat\", \"PKTransitTypeGeneric\"."
},
"serial_number": {
"type": [
"null",
"string"
],
"default": null,
"description": "Unique pass serial number, e.g. \"LOT-89421\"."
},
"barcode_format": {
"type": [
"null",
"string"
],
"default": null,
"description": "Barcode format: \"PKBarcodeFormatQR\", \"PKBarcodeFormatPDF417\", \"PKBarcodeFormatAztec\", \"PKBarcodeFormatCode128\"."
},
"barcode_message": {
"type": [
"null",
"string"
],
"default": null,
"description": "Barcode message payload, e.g. \"M1HAL/BAHDAN ELO027\"."
},
"team_identifier": {
"type": [
"null",
"string"
],
"default": null,
"description": "Apple Developer 10-character Team ID, e.g. \"BAHDAN9988\"."
},
"background_color": {
"type": [
"null",
"string"
],
"default": null,
"description": "Background color as CSS rgb(r, g, b), e.g. \"rgb(15, 23, 42)\"."
},
"foreground_color": {
"type": [
"null",
"string"
],
"default": null,
"description": "Foreground text color as CSS rgb(r, g, b), e.g. \"rgb(255, 255, 255)\"."
},
"organization_name": {
"type": "string",
"description": "Name of the pass issuing organization, e.g. \"Acme Airlines\"."
},
"pass_type_identifier": {
"type": [
"null",
"string"
],
"default": null,
"description": "Apple Pass Type Identifier starting with \"pass.\", e.g. \"pass.com.example.ticket\"."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}repair_apple_pkpass_spec — Repair Apple Wallet pass.json
Automatically repair and sanitize broken Apple Wallet pass.json manifests: fixes missing formatVersion, prefixes passTypeIdentifier, ensures 10-character team ID, normalizes dates to ISO 8601 with timezones, and auto-corrects low contrast.
{
"type": "object",
"required": [
"pass_json"
],
"properties": {
"pass_json": {
"type": "string",
"description": "The raw, broken pass.json JSON string to repair."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}transpile_regex_engine — Convert Regex Between Engines
Transpile and analyze regular expressions across engines (PCRE, Go RE2, JavaScript, Python re, Rust regex) with compatibility checks and ReDoS safety analysis.
{
"type": "object",
"required": [
"pattern"
],
"properties": {
"pattern": {
"type": "string",
"description": "The regular expression pattern string to analyze and transpile."
},
"source_engine": {
"type": [
"null",
"string"
],
"default": "pcre",
"description": "Optional source engine: \"pcre\" (default), \"go_re2\", \"javascript\", \"python\", \"rust\"."
},
"target_engine": {
"type": [
"null",
"string"
],
"default": "go_re2",
"description": "Optional target engine: \"go_re2\" (default), \"pcre\", \"javascript\", \"python\", \"rust\"."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}Prompts
0 advertised
Resources
0 advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-06: 1 of 1 checks answered
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1286 ms
- 95th percentile latency
- 1286 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1286 ms · metadata changed · 13 tool(s), 0 resource(s), 0 resource template(s), 0 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http stackhal-mcp https://stackhal.com/mcpCodex
codex mcp add stackhal-mcp --url https://stackhal.com/mcpCursor
{
"mcpServers": {
"stackhal-mcp": {
"url": "https://stackhal.com/mcp"
}
}
}Cline
{
"mcpServers": {
"stackhal-mcp": {
"type": "streamableHttp",
"url": "https://stackhal.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"stackhal-mcp": {
"type": "http",
"url": "https://stackhal.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http stackhal-mcp https://stackhal.com/mcpClaude Desktop
https://stackhal.com/mcpWindsurf
{
"mcpServers": {
"stackhal-mcp": {
"serverUrl": "https://stackhal.com/mcp"
}
}
}Let your agent find its tools
Find servers like Stackhal MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.