Build against DIS without leaving your editor
Connect Cursor, Claude, or VS Code. Search the API catalogue, inspect your applications, and manage playground seed data β using the same login as the developer portal.
API catalogue
Search published APIs, switch versions, and pull OpenAPI plus endpoint detail into chat.
Your applications
List apps you already registered and read clientId plus subscribed API versions.
Playground seed data
Read, update, or reset isolated seed tables for an application you own.
Creating apps and live API try-out stay in the developer portal. MCP is a curated wrapper β not a generic API proxy, and not a place for API keys.
Connect your assistantβ
Pick your client and copy the snippet. The MCP server URL for this environment is already filled in β you do not need to edit it. Sign in with the same account you use on the developer portal.
- Cursor
- Claude
- VS Code
- Other clients
- Click Add to Cursor, or paste the JSON below as-is into
~/.cursor/mcp.json(or.cursor/mcp.jsonin a project). - Choose Connect and sign in with the same account you use on the developer portal.
- Confirm tools such as
search_apisandlist_my_applicationsappear.
{
"mcpServers": {
"dis": {
"url": "https://dis-mcp-server.dev.digieconcenter.gov.lk/mcp",
"auth": {
"CLIENT_ID": "dis-mcp",
"scopes": [
"openid",
"profile",
"email",
"offline_access"
]
}
}
}
}
Claude Desktop
- Open Settings β Connectors β Add custom connector.
- Paste the MCP URL:
https://dis-mcp-server.dev.digieconcenter.gov.lk/mcp - When asked for an OAuth client ID, enter
dis-mcp. - Complete browser login, then fully quit and relaunch Claude Desktop.
If your Claude Desktop build only supports local (stdio) MCP, use the mcp-remote bridge in the Other clients tab.
Claude Code
- Add the server, then authenticate when the CLI prompts:
claude mcp add --transport http dis https://dis-mcp-server.dev.digieconcenter.gov.lk/mcp
If login asks for a client ID, enter dis-mcp. You can also drop this JSON into Claude Code MCP settings:
{
"mcpServers": {
"dis": {
"type": "http",
"url": "https://dis-mcp-server.dev.digieconcenter.gov.lk/mcp",
"auth": {
"CLIENT_ID": "dis-mcp",
"scopes": [
"openid",
"profile",
"email",
"offline_access"
]
}
}
}
}
- Click Add to VS Code, or save the JSON below as-is to
.vscode/mcp.json. You can also use MCP: Open User Configuration for a global setup. - Start the server, then sign in. If VS Code asks for an OAuth client ID, enter
dis-mcp.
{
"servers": {
"dis": {
"type": "http",
"url": "https://dis-mcp-server.dev.digieconcenter.gov.lk/mcp",
"oauth": {
"clientId": "dis-mcp"
}
}
}
}
GitHub Copilot Chat in VS Code uses this same MCP configuration. Enable the DIS tools from the chat tool picker after the server connects.
OpenAI Codex
codex mcp add dis --url https://dis-mcp-server.dev.digieconcenter.gov.lk/mcp
Or add this to ~/.codex/config.toml, then run codex mcp login dis:
[mcp_servers.dis]
url = "https://dis-mcp-server.dev.digieconcenter.gov.lk/mcp"
Windsurf
- Open settings and go to Cascade β MCP servers β Add custom server.
- Paste the Cursor-style JSON from the Cursor tab, or use the stdio bridge below.
Zed
{
"context_servers": {
"dis": {
"source": "custom",
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://dis-mcp-server.dev.digieconcenter.gov.lk/mcp",
"--static-oauth-client-info",
"{\"client_id\":\"dis-mcp\"}"
],
"env": {}
}
}
}
Any stdio-only host
Clients that cannot speak remote Streamable HTTP can bridge with mcp-remote. Sign in in the browser when prompted. Flag names can change between mcp-remote versions β if OAuth fails, pass client id dis-mcp however that tool currently expects for a static public client.
{
"mcpServers": {
"dis": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://dis-mcp-server.dev.digieconcenter.gov.lk/mcp",
"--static-oauth-client-info",
"{\"client_id\":\"dis-mcp\"}"
]
}
}
}
Generic remote MCP
Use Streamable HTTP with this server URL and client id dis-mcp. Sign in with your developer portal account. Do not paste API keys or client secrets into MCP config.
Try itβ
After the server shows as connected, paste a prompt. For seed data, ask the assistant to call list_my_applications first so it has a clientId.
Search the DIS catalogue for identity APIs and summarize the published versions, auth methods, and main endpoints.
List my applications and show the clientId and subscribed API versions for each one.
For my application, show playground seed tables and a sample of rows. Prefer get_seed_tables then get_seed_table_rows.
Reset playground seed data for this application to the template initial seed, then confirm the table row counts.
Toolsβ
Catalogue
Read onlysearch_apisSearch published APIs by name or categoryget_api_summarySummary for an apiIdget_api_versionsPublished and unpublished (deprecated) versionsget_api_documentationFull OpenAPI for apiId + apiVersionIdget_api_endpointsEndpoint list for a versionget_endpoint_detailEndpoint detail and samples
Applications
Read onlylist_my_applicationsid, name, clientId, subscribed apiVersionIdsget_applicationSame fields for one application
Playground seed data
Read / writeget_playground_contextTable names and row countsget_seed_tablesSummary of tables in the current stateget_seed_table_rowsRows for one table (default 50, max 200)update_seed_tableReplace one table (max 500 rows)reset_seed_dataReset isolated client state to the template seed
Seed tools need a clientId from list_my_applications that belongs to your organisation and is subscribed to the requested apiVersionId. Prefer table summaries over dumping the full playground state. Register apps in My Applications.
Limits and troubleshootingβ
How sign-in works
Use the same account as the developer portal. Your MCP client opens a browser login, then keeps you signed in for tool calls. You never paste API keys into MCP config.
Connect fails or sign-in errors
Confirm the endpoint on this page, then disconnect and try again. Cursor completes login in the browser using a local callback at http://localhost:8787/callback.
Tools load but applications are empty
Disconnect, reconnect, and sign in again so your organisation is picked up.
401 on every call
Reconnect and complete browser sign-in again. Do not paste an access token by hand.
My client only supports local stdio MCP
Use the mcp-remote bridge under Other clients. Fully quit and relaunch the host after editing config.
Seed tools reject clientId
The application must belong to your organisation and be subscribed to that apiVersionId. Create or subscribe in My Applications.