Koskamo

Setu.Anantasutra MCP

Provides AI agent tools for validating Indian business identifiers (GSTIN, PAN, etc.), auditing AI visibility (GEO), checking AI crawler access via robots.txt, and verifying llms.txt presence. Uses x402 pay-per-call payments on Base mainnet.

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.

Setu.Anantasutra MCP logo, by Setu.AnantasutraCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by Setu.Anantasutra
You need:No sign-up and no API key
MCP endpoint (Streamable HTTP)
https://setu.xyz23110928.workers.dev/mcp
Vendor documentation

What you can do with it

  • Validate and decode Indian business identifiers like GSTIN and PAN
  • Audit website visibility to AI search engines and assistants
  • Check AI crawler access matrix from robots.txt
  • Verify llms.txt presence and structure for a domain

Source and maintenance

Community listingRegistry 1.0.0

Protocol and capabilities

Server
setu 1.0.0+ae0ae6d9
MCP protocol
2025-06-18
Tools
5 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

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

Deterministic data tools: Indian identifier validation (GSTIN, PAN, TAN, CIN, LLPIN, IFSC, PIN code, UPI ID, vehicle registration), AI-visibility (GEO) audits, AI crawler robots.txt matrices and llms.txt checks. Each tools/call is paid with x402 (USDC); an unpaid call returns the payment requirements as an error result.

Tools

5 advertised

india_id_validate — Validate and decode one Indian identifier
Advertised by the server during the last successful anonymous check.
Advertised read-only

Validates and decodes one Indian business or payment identifier offline: GSTIN, PAN, TAN, CIN, LLPIN, IFSC, PIN code, UPI ID and vehicle registration numbers. Detects the type automatically, normalises copy-paste noise, verifies check digits where the algorithm is public (GSTIN), and decodes embedded fields such as state, PAN holder type or company type. Aadhaar numbers are refused. Use it to clean or pre-check form and invoice data. Price: $0.005 per call, paid with x402.

india_id_validate input schema
{
  "type": "object",
  "required": [
    "value"
  ],
  "properties": {
    "type": {
      "enum": [
        "auto",
        "gstin",
        "pan",
        "tan",
        "cin",
        "llpin",
        "ifsc",
        "pincode",
        "upi",
        "vehicle"
      ],
      "type": "string",
      "description": "Force a type instead of auto-detection (default auto). Case-insensitive; one of: auto, gstin, pan, tan, cin, llpin, ifsc, pincode, upi, vehicle."
    },
    "value": {
      "type": "string",
      "maxLength": 256,
      "minLength": 1,
      "description": "The identifier, e.g. 27AAPFU0939F1ZV. An optional \"type:\" prefix such as \"pan:\" is accepted; a PIN code may also be sent as a JSON number. Blank values are rejected (400, not charged)."
    }
  },
  "additionalProperties": false
}
india_id_validate annotations
{
  "title": "Validate and decode one Indian identifier",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
india_id_validate_batch — Validate up to 50 Indian identifiers
Advertised by the server during the last successful anonymous check.
Advertised read-only

Batch version of the Indian identifier validator: up to 50 values per call (GSTIN, PAN, TAN, CIN, LLPIN, IFSC, PIN code, UPI ID and vehicle registration numbers), mixed types allowed, one flat price. Returns one decoded result per item plus counts by type and validity. Use it for cleaning vendor lists, invoices or onboarding data. Batches containing Aadhaar-like numbers are rejected without charge. Price: $0.02 per call, paid with x402.

india_id_validate_batch input schema
{
  "type": "object",
  "required": [
    "items"
  ],
  "properties": {
    "type": {
      "enum": [
        "auto",
        "gstin",
        "pan",
        "tan",
        "cin",
        "llpin",
        "ifsc",
        "pincode",
        "upi",
        "vehicle"
      ],
      "type": "string",
      "description": "Default type for all items. Force a type instead of auto-detection (default auto). Case-insensitive; one of: auto, gstin, pan, tan, cin, llpin, ifsc, pincode, upi, vehicle."
    },
    "items": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "string",
            "maxLength": 256
          },
          {
            "type": "object",
            "required": [
              "value"
            ],
            "properties": {
              "type": {
                "enum": [
                  "auto",
                  "gstin",
                  "pan",
                  "tan",
                  "cin",
                  "llpin",
                  "ifsc",
                  "pincode",
                  "upi",
                  "vehicle"
                ],
                "type": "string"
              },
              "value": {
                "type": "string",
                "maxLength": 256,
                "minLength": 1
              }
            }
          }
        ]
      },
      "maxItems": 50,
      "minItems": 1,
      "description": "Identifiers as strings or {\"value\",\"type\"} objects (PIN codes may be JSON numbers). Blank items are skipped; a batch where every item is blank is rejected (400, not charged)."
    }
  },
  "additionalProperties": false
}
india_id_validate_batch annotations
{
  "title": "Validate up to 50 Indian identifiers",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
geo_audit — AI visibility (GEO) audit for one URL
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Audits how visible one web page is to AI search engines and AI assistants: which of the major AI crawlers robots.txt allows or blocks, llms.txt and llms-full.txt presence, sitemap, and on-page signals (title, meta, canonical, structured data, headings, content readable without JavaScript). Returns a 0-100 score, grade and prioritised recommendations. Use it to check or monitor a site for generative-engine optimisation. Price: $0.02 per call, paid with x402.

geo_audit input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "maxLength": 2048,
      "minLength": 3,
      "description": "Page URL or bare domain to audit, e.g. https://example.com/pricing"
    }
  },
  "additionalProperties": false
}
geo_audit annotations
{
  "title": "AI visibility (GEO) audit for one URL",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
ai_crawler_matrix — AI crawler access matrix from robots.txt
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Reads a domain's robots.txt (RFC 9309 matching) and reports, for each known AI crawler and AI agent (OpenAI, Anthropic, Google, Perplexity, Apple, Meta, Amazon, Common Crawl and others), whether it may fetch the site root and up to five extra paths, with the deciding rule and any Content-Signal preferences. Use it to see whether a site is open to AI search but closed to AI training. Price: $0.01 per call, paid with x402.

ai_crawler_matrix input schema
{
  "type": "object",
  "required": [
    "domain"
  ],
  "properties": {
    "paths": {
      "type": "string",
      "maxLength": 600,
      "description": "Optional comma-separated extra paths to test, e.g. /blog/,/docs/"
    },
    "domain": {
      "type": "string",
      "maxLength": 253,
      "minLength": 3,
      "description": "Domain or URL, e.g. example.com"
    }
  },
  "additionalProperties": false
}
ai_crawler_matrix annotations
{
  "title": "AI crawler access matrix from robots.txt",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
llms_txt_check — llms.txt presence and structure check
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Checks whether a domain publishes /llms.txt and /llms-full.txt and validates llms.txt against the llmstxt.org structure: single H1 title, blockquote summary, H2 sections with markdown link lists, soft-404 detection and size. Respects robots.txt. Use it before or after publishing an llms.txt file. Price: $0.005 per call, paid with x402.

llms_txt_check input schema
{
  "type": "object",
  "required": [
    "domain"
  ],
  "properties": {
    "domain": {
      "type": "string",
      "maxLength": 253,
      "minLength": 3,
      "description": "Domain or URL, e.g. example.com"
    }
  },
  "additionalProperties": false
}
llms_txt_check annotations
{
  "title": "llms.txt presence and structure check",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

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

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

Maintenance history

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

  • · probe · passed · 259 ms · metadata changed · 5 tool(s)

Connect from your client

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

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

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http setu-anantasutra-mcp https://setu.xyz23110928.workers.dev/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add setu-anantasutra-mcp --url https://setu.xyz23110928.workers.dev/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable setu-anantasutra-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "setu-anantasutra-mcp": {
      "url": "https://setu.xyz23110928.workers.dev/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "setu-anantasutra-mcp": {
      "type": "streamableHttp",
      "url": "https://setu.xyz23110928.workers.dev/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start setu-anantasutra-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "setu-anantasutra-mcp": {
      "type": "http",
      "url": "https://setu.xyz23110928.workers.dev/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http setu-anantasutra-mcp https://setu.xyz23110928.workers.dev/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "setu-anantasutra-mcp": {
      "url": "https://setu.xyz23110928.workers.dev/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "setu-anantasutra-mcp": {
      "serverUrl": "https://setu.xyz23110928.workers.dev/mcp"
    }
  }
}

Let your agent find its tools

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