Koskamo

Turkish Identifier Validation MCP

Provides checksum validation for Turkish IBANs, tax numbers (VKN), and national ID numbers (TCKN). It verifies format only and does not store or log inputs, ensuring privacy while allowing agents to validate Turkish financial and personal identifiers.

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.

Turkish Identifier Validation MCP logo, by foster-mcpCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by foster-mcp
MCP endpoint (Streamable HTTP)
https://foster-mcp.esakiz.workers.dev/validate/mcp
Vendor documentation

What you can do with it

  • Validate Turkish IBAN format and extract bank code
  • Verify Turkish tax number (VKN) checksum
  • Check Turkish national ID (TCKN) validity

Source and maintenance

Community listingRegistry 1.0.0

Protocol and capabilities

Server
turkey-identifier-validation 1.0.0
MCP protocol
2025-06-18
Tools
3 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools

3 advertised

validate_iban — Validate a Turkish IBAN
Advertised by the server during the last successful anonymous check.
Advertised read-only

Validates a Turkish (TR) IBAN: 26 characters, structure, reserved digit and ISO 13616 mod-97 checksum. Returns the normalized and grouped form, the 5-digit bank code and the account number part. Format and checksum only: a valid result does not prove the number is registered or belongs to anyone. Inputs are not stored or logged.

validate_iban input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "iban"
  ],
  "properties": {
    "iban": {
      "type": "string",
      "maxLength": 64,
      "description": "IBAN; spaces and hyphens are ignored"
    }
  }
}
validate_iban output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "type",
    "valid",
    "normalized",
    "formatted",
    "parts",
    "checks",
    "note"
  ],
  "properties": {
    "note": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "const": "iban"
    },
    "parts": {
      "anyOf": [
        {
          "type": "object",
          "required": [
            "country",
            "check_digits",
            "bank_code",
            "reserved",
            "account_number"
          ],
          "properties": {
            "country": {
              "type": "string",
              "const": "TR"
            },
            "reserved": {
              "type": "string"
            },
            "bank_code": {
              "type": "string"
            },
            "check_digits": {
              "type": "string"
            },
            "account_number": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "valid": {
      "type": "boolean"
    },
    "checks": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "check",
          "passed"
        ],
        "properties": {
          "check": {
            "type": "string"
          },
          "passed": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      }
    },
    "formatted": {
      "type": [
        "string",
        "null"
      ]
    },
    "normalized": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
validate_iban annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
validate_tax_number — Validate a Turkish tax number (VKN)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Validates the check digit of a 10-digit Turkish tax identification number (Vergi Kimlik Numarası, VKN) used by companies. Format and checksum only: a valid result does not prove the number is registered or belongs to anyone. Inputs are not stored or logged.

validate_tax_number input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "vkn"
  ],
  "properties": {
    "vkn": {
      "type": "string",
      "maxLength": 64,
      "description": "10-digit VKN"
    }
  }
}
validate_tax_number output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "type",
    "valid",
    "normalized",
    "checks",
    "note"
  ],
  "properties": {
    "note": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "const": "vkn"
    },
    "valid": {
      "type": "boolean"
    },
    "checks": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "check",
          "passed"
        ],
        "properties": {
          "check": {
            "type": "string"
          },
          "passed": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      }
    },
    "normalized": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
validate_tax_number annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
validate_national_id — Validate a Turkish national ID number (TCKN)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Validates the check digits of an 11-digit Turkish national identity number (T.C. Kimlik Numarası, TCKN), which individuals also use as their tax number. The number is personal data: it is not echoed back. It does not confirm the person exists. Format and checksum only: a valid result does not prove the number is registered or belongs to anyone. Inputs are not stored or logged.

validate_national_id input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "tckn"
  ],
  "properties": {
    "tckn": {
      "type": "string",
      "maxLength": 64,
      "description": "11-digit TCKN"
    }
  }
}
validate_national_id output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "type",
    "valid",
    "checks",
    "note"
  ],
  "properties": {
    "note": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "const": "tckn"
    },
    "valid": {
      "type": "boolean"
    },
    "checks": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "check",
          "passed"
        ],
        "properties": {
          "check": {
            "type": "string"
          },
          "passed": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": false
}
validate_national_id annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "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
347 ms
95th percentile latency
347 ms

Maintenance history

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

  • · probe · passed · 347 ms · metadata changed · 3 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 turkish-identifier-validation-mcp https://foster-mcp.esakiz.workers.dev/validate/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 turkish-identifier-validation-mcp --url https://foster-mcp.esakiz.workers.dev/validate/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable turkish-identifier-validation-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "turkish-identifier-validation-mcp": {
      "url": "https://foster-mcp.esakiz.workers.dev/validate/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "turkish-identifier-validation-mcp": {
      "type": "streamableHttp",
      "url": "https://foster-mcp.esakiz.workers.dev/validate/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start turkish-identifier-validation-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "turkish-identifier-validation-mcp": {
      "type": "http",
      "url": "https://foster-mcp.esakiz.workers.dev/validate/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 turkish-identifier-validation-mcp https://foster-mcp.esakiz.workers.dev/validate/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": {
    "turkish-identifier-validation-mcp": {
      "url": "https://foster-mcp.esakiz.workers.dev/validate/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": {
    "turkish-identifier-validation-mcp": {
      "serverUrl": "https://foster-mcp.esakiz.workers.dev/validate/mcp"
    }
  }
}

Let your agent find its tools

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