Koskamo

Sri Lanka Payslip MCP

A community-built Model Context Protocol server that provides read-only tools for calculating Sri Lankan payroll metrics including APIT/PAYE, EPF, ETF, stamp duty, and net pay. It allows agents to retrieve calculation results, payroll reference data, and payslip checklists without storing salary inputs.

Endpoint and access

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

Sri Lanka Payslip MCP logo, by Buddhima-JD3Community listingStreamable HTTPNo sign-inEndpoint checked 2026-11-06Published by Buddhima-JD3
MCP endpoint (Streamable HTTP)
https://mypayslip.lk/api/mcp
Vendor documentation

What its tools do

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

3 of 3 have a description · 3 of 3 declare behavior hints · 1 of 1 with parameters document them all

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

  • Calculate APIT/PAYE, EPF, ETF, stamp duty, net pay, and employer cost
  • Retrieve maintained assumptions, scope limits, and official sources
  • Prepare or review the required payslip fields and arithmetic checks

Source and maintenance

Community listingRegistry 2026.27.2
Maintenance checked

Protocol and capabilities

Server
sri-lanka-payslip 2026.27.2
MCP protocol negotiated in check
2025-11-25
Tools
3 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools

3 advertised

calculate_sri_lanka_payslip — Calculate a Sri Lanka payslip
Advertised by the server during the last successful anonymous check.
Advertised read-only

Estimate monthly APIT/PAYE, employee and employer EPF, ETF, stamp duty, net pay, and employer cost for regular primary employment in Sri Lanka.

calculate_sri_lanka_payslip input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "grossSalary"
  ],
  "properties": {
    "grossSalary": {
      "type": "number",
      "maximum": 100000000,
      "minimum": 0,
      "description": "Gross monthly employment income in Sri Lankan rupees"
    },
    "epfEtfEarningsBase": {
      "type": "number",
      "maximum": 100000000,
      "minimum": 0,
      "description": "EPF/ETF-eligible monthly earnings; defaults to gross salary"
    },
    "otherEmployeeDeductions": {
      "type": "number",
      "default": 0,
      "maximum": 100000000,
      "minimum": 0,
      "description": "Optional non-statutory employee deductions, such as a loan repayment"
    }
  }
}
calculate_sri_lanka_payslip output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "yearOfAssessment",
    "sourceTableYear",
    "currency",
    "grossSalary",
    "epfEtfEarningsBase",
    "apit",
    "employeeEpf",
    "employerEpf",
    "employerEtf",
    "stampDuty",
    "otherEmployeeDeductions",
    "totalEmployeeDeductions",
    "netPay",
    "employerCost",
    "methodologyUrl",
    "payslipGeneratorUrl",
    "caution",
    "sources"
  ],
  "properties": {
    "apit": {
      "type": "number"
    },
    "netPay": {
      "type": "number"
    },
    "caution": {
      "type": "string"
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "authority",
          "topic",
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "topic": {
            "type": "string"
          },
          "authority": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "currency": {
      "type": "string",
      "const": "LKR"
    },
    "stampDuty": {
      "type": "number"
    },
    "employeeEpf": {
      "type": "number"
    },
    "employerEpf": {
      "type": "number"
    },
    "employerEtf": {
      "type": "number"
    },
    "grossSalary": {
      "type": "number"
    },
    "employerCost": {
      "type": "number"
    },
    "methodologyUrl": {
      "type": "string",
      "format": "uri"
    },
    "sourceTableYear": {
      "type": "string",
      "const": "2025/26"
    },
    "yearOfAssessment": {
      "type": "string",
      "const": "2026/27"
    },
    "epfEtfEarningsBase": {
      "type": "number"
    },
    "payslipGeneratorUrl": {
      "type": "string",
      "format": "uri"
    },
    "otherEmployeeDeductions": {
      "type": "number"
    },
    "totalEmployeeDeductions": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
calculate_sri_lanka_payslip annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_sri_lanka_payroll_reference — Get the Sri Lanka payroll reference
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the maintained APIT, EPF, ETF, and stamp-duty assumptions with official Sri Lankan sources and scope limits.

get_sri_lanka_payroll_reference input schema
{
  "type": "object",
  "properties": {}
}
get_sri_lanka_payroll_reference output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "yearOfAssessment",
    "sourceTableYear",
    "effectiveFrom",
    "currency",
    "period",
    "scope",
    "monthlyApitRelief",
    "employeeEpfRate",
    "employerEpfRate",
    "employerEtfRate",
    "stampDutyThreshold",
    "stampDutyAboveThreshold",
    "provenanceNote",
    "excludedCases",
    "methodologyUrl",
    "machineReadableMethodologyUrl",
    "openApiUrl",
    "citation",
    "sources"
  ],
  "properties": {
    "scope": {
      "type": "string"
    },
    "period": {
      "type": "string",
      "const": "monthly"
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "authority",
          "topic",
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "topic": {
            "type": "string"
          },
          "authority": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "citation": {
      "type": "string"
    },
    "currency": {
      "type": "string",
      "const": "LKR"
    },
    "openApiUrl": {
      "type": "string",
      "format": "uri"
    },
    "effectiveFrom": {
      "type": "string",
      "const": "2025-04-01"
    },
    "excludedCases": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "methodologyUrl": {
      "type": "string",
      "format": "uri"
    },
    "provenanceNote": {
      "type": "string"
    },
    "employeeEpfRate": {
      "type": "number"
    },
    "employerEpfRate": {
      "type": "number"
    },
    "employerEtfRate": {
      "type": "number"
    },
    "sourceTableYear": {
      "type": "string",
      "const": "2025/26"
    },
    "yearOfAssessment": {
      "type": "string",
      "const": "2026/27"
    },
    "monthlyApitRelief": {
      "type": "number"
    },
    "stampDutyThreshold": {
      "type": "number"
    },
    "stampDutyAboveThreshold": {
      "type": "number"
    },
    "machineReadableMethodologyUrl": {
      "type": "string",
      "format": "uri"
    }
  },
  "additionalProperties": false
}
get_sri_lanka_payroll_reference annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_sri_lanka_payslip_checklist — Get a Sri Lanka payslip checklist
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return the fields and checks needed to prepare or review a Sri Lankan employee payslip.

get_sri_lanka_payslip_checklist input schema
{
  "type": "object",
  "properties": {}
}
get_sri_lanka_payslip_checklist output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "identityAndPeriod",
    "earnings",
    "employeeDeductions",
    "employerContributions",
    "verificationChecks",
    "evidenceNote",
    "guideUrl",
    "generatorUrl",
    "sources"
  ],
  "properties": {
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "authority",
          "topic",
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "topic": {
            "type": "string"
          },
          "authority": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "earnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "guideUrl": {
      "type": "string",
      "format": "uri"
    },
    "evidenceNote": {
      "type": "string"
    },
    "generatorUrl": {
      "type": "string",
      "format": "uri"
    },
    "identityAndPeriod": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "employeeDeductions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "verificationChecks": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "employerContributions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
get_sri_lanka_payslip_checklist annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

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.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-06: 1 of 1 checks answered
  2. 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
738 ms
95th percentile latency
738 ms

Maintenance history

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

  • · probe · passed · 738 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 sri-lanka-payslip-mcp-mypayslip https://mypayslip.lk/api/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 sri-lanka-payslip-mcp-mypayslip --url https://mypayslip.lk/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable sri-lanka-payslip-mcp-mypayslip in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "sri-lanka-payslip-mcp-mypayslip": {
      "url": "https://mypayslip.lk/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "sri-lanka-payslip-mcp-mypayslip": {
      "type": "streamableHttp",
      "url": "https://mypayslip.lk/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start sri-lanka-payslip-mcp-mypayslip and inspect its tools.
VS Code configuration
{
  "servers": {
    "sri-lanka-payslip-mcp-mypayslip": {
      "type": "http",
      "url": "https://mypayslip.lk/api/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 sri-lanka-payslip-mcp-mypayslip https://mypayslip.lk/api/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mypayslip.lk/api/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": {
    "sri-lanka-payslip-mcp-mypayslip": {
      "serverUrl": "https://mypayslip.lk/api/mcp"
    }
  }
}

Let your agent find its tools

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