Koskamo

Atviri teisės aktai MCP

An unofficial article-by-article mirror of Lithuanian law that provides an MCP server for AI agents to search legal acts, retrieve specific articles or definitions, check validity statuses, and access related regulatory decisions without requiring authentication keys.

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.

Atviri teisės aktai MCP logo, by Atviri teisės aktaiVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Atviri teisės aktai
MCP endpoint (Streamable HTTP)
https://atviri-teises-aktai.lt/mcp
Vendor documentation

What you can do with it

  • Search for specific legal terms or articles in Lithuanian law
  • Retrieve full text of a legal act or specific article part
  • Find definitions of terms across all legal acts
  • Check if a legal act is currently in force or repealed

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
atviri-teises-aktai 1.0.0
MCP protocol
2025-06-18
Tools
8 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
1 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  }
}

Server-provided instructions

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

Unofficial article-by-article text of Lithuanian law with a status label per article. Always pass on the label and the e-tar.lt link; a label other than "Galioja šiandien" means: check the official text. To research a question: search_law with two or three Lithuanian wordings; find_definition for the key terms (meanings differ between acts); read the hits with one get_articles call; related on the key articles for the rules, laws and regulator decisions that apply or rely on them. The prompt research_lithuanian_law has the full recipe.

Tools

8 advertised

search_law
Advertised by the server during the last successful anonymous check.
Advertised read-only

Find articles of Lithuanian codes, laws and Government-approved rules (unofficial mirror of e-tar.lt). Use a reference ("DK 52", "CK 6.228¹", "KET 52") or Lithuanian words ("kasmetinės atostogos"). Returns articles with their URL, whether their text applies today, and for the first 10 the part where the words are (`part`, `snippet`).

search_law input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "act": {
      "type": "string",
      "description": "Optional: limit to one act (key, abbreviation or name, e.g. \"DK\")"
    },
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 30,
      "minimum": 1
    },
    "query": {
      "type": "string",
      "description": "A reference or Lithuanian words (4+ letters each; all must occur, else the articles with all but one, each naming the word it lacks in `lacks_word`). Up to 3 alternative wordings separated by \"|\" are searched together: \"telefono numeris | ryšio duomenys\""
    }
  }
}
search_law annotations
{
  "readOnlyHint": true
}
get_article
Advertised by the server during the last successful anonymous check.
Advertised read-only

The text of one article (or point) as published by the Seimas Chancellery, unchanged, with its status today (Galioja šiandien / Įsigalios D / Gali būti pasenęs / Neaišku, ar galioja / Neteko galios), until when that label is certain, amending acts, the future wording if adopted, defined terms used, a citation line and the official e-tar.lt link.

get_article input schema
{
  "type": "object",
  "required": [
    "act",
    "article"
  ],
  "properties": {
    "act": {
      "type": "string",
      "description": "Act key, abbreviation, TAR code or name: \"DK\", \"CK\", \"KET\", \"2016-23709\", \"darbo kodeksas\""
    },
    "date": {
      "type": "string",
      "description": "Optional YYYY-MM-DD: the text in force on that date (the Chancellery's official consolidation for it, since 2020, where the open data hold one); without it, today's text"
    },
    "part": {
      "type": "string",
      "description": "Optional: one part of the article, by number or anchor (\"107\" or \"d107\"; a rule's sub-point \"8.12\" or \"p8.12\"): only that part's text (and its future wording) instead of the whole article"
    },
    "article": {
      "type": "string",
      "description": "Article or point number: \"52\", \"21¹\" or \"21-1\", \"6.228-1\", \"3.2\" (also accepted as `n`)"
    }
  }
}
get_article annotations
{
  "readOnlyHint": true
}
find_definition
Advertised by the server during the last successful anonymous check.
Advertised read-only

Where a term is legally defined, in every act on the site: the term, its alias ("toliau – …"), the definition text, the act and article/part with a link, and the article's status today. Inflection-tolerant ("vartotojo objektas" = "vartotojo objektą"). The same word often means different things in different acts ("vartotojas" in EĮ, EEĮ, GDĮ, VTAĮ): all are returned, plus narrower terms ending in it ("elektros energijos vartotojas").

find_definition input schema
{
  "type": "object",
  "required": [
    "term"
  ],
  "properties": {
    "act": {
      "type": "string",
      "description": "Optional: the meaning in this act (key, abbreviation, TAR code or name). If the act does not define the term itself but says its terms are understood as defined in other acts (\"sąvokos suprantamos taip, kaip jos apibrėžtos … įstatyme\"), those acts' definitions are returned, with the sentence in by_reference"
    },
    "term": {
      "type": "string",
      "description": "A word or phrase: \"vartotojo objektas\", \"bešeimininkis daiktas\""
    },
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 50
    }
  }
}
find_definition annotations
{
  "readOnlyHint": true
}
get_articles
Advertised by the server during the last successful anonymous check.
Advertised read-only

Several articles (or points, or parts) in one call, up to 20: each as get_article returns it. Use it to read everything a search or `related` found, instead of one call per article.

get_articles input schema
{
  "type": "object",
  "required": [
    "refs"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Optional YYYY-MM-DD for all of them (as get_article's `date`)"
    },
    "refs": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "object",
            "required": [
              "act",
              "article"
            ],
            "properties": {
              "act": {
                "type": "string"
              },
              "part": {
                "type": "string"
              },
              "article": {
                "type": "string"
              }
            }
          }
        ]
      },
      "maxItems": 20,
      "description": "References: \"DK 52\", \"EEĮ 2 str. 15 d.\" (one part), \"KET 3.2\", \"CK 6.228¹\", or {act, article, part}"
    }
  }
}
get_articles annotations
{
  "readOnlyHint": true
}
related
Advertised by the server during the last successful anonymous check.
Advertised read-only

References both ways for an article (or point, part, or a whole act): the articles it cites, and the articles of other acts, of the same act and the energy regulator's (VERT) decisions that cite it. E.g. which rules and decisions apply an article of a law. Each item has its status and URL; read them with get_articles.

related input schema
{
  "type": "object",
  "required": [
    "act"
  ],
  "properties": {
    "act": {
      "type": "string",
      "description": "Act key, abbreviation, TAR code or name"
    },
    "part": {
      "type": "string",
      "description": "Optional: one part (\"2\" or \"d2\"; a sub-point \"p8.12\")"
    },
    "limit": {
      "type": "integer",
      "default": 50,
      "maximum": 200,
      "description": "Per list"
    },
    "article": {
      "type": "string",
      "description": "Article or point number; omit for references to the act as a whole"
    }
  }
}
related annotations
{
  "readOnlyHint": true
}
list_acts
Advertised by the server during the last successful anonymous check.
Advertised read-only

Every act on the site: its key, citation form, name, number of articles and how many apply today.

list_acts input schema
{
  "type": "object",
  "properties": {}
}
list_acts annotations
{
  "readOnlyHint": true
}
get_act_contents
Advertised by the server during the last successful anonymous check.
Advertised read-only

The articles of one act in order (number, title, chapter, status), paged.

get_act_contents input schema
{
  "type": "object",
  "required": [
    "act"
  ],
  "properties": {
    "act": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "default": 100,
      "maximum": 300
    },
    "offset": {
      "type": "integer",
      "default": 0
    }
  }
}
get_act_contents annotations
{
  "readOnlyHint": true
}
upcoming_changes
Advertised by the server during the last successful anonymous check.
Advertised read-only

Articles whose text or status changes in the next days (adopted amendments with a date).

upcoming_changes input schema
{
  "type": "object",
  "properties": {
    "act": {
      "type": "string"
    },
    "days": {
      "type": "integer",
      "default": 30,
      "maximum": 30
    }
  }
}
upcoming_changes annotations
{
  "readOnlyHint": true
}

Prompts

1 advertised

research_lithuanian_law

Advertised by the server during the last successful anonymous check.

How to research a question of Lithuanian law with this server's tools: wordings, definitions, batches, references both ways, status labels.

question
The question to research (any language)

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
663 ms
95th percentile latency
663 ms

Maintenance history

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

  • · probe · passed · 663 ms · metadata changed · 8 tool(s), 1 prompt(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 atviri-teise-s-aktai-mcp https://atviri-teises-aktai.lt/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 atviri-teise-s-aktai-mcp --url https://atviri-teises-aktai.lt/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable atviri-teise-s-aktai-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "atviri-teise-s-aktai-mcp": {
      "url": "https://atviri-teises-aktai.lt/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "atviri-teise-s-aktai-mcp": {
      "type": "streamableHttp",
      "url": "https://atviri-teises-aktai.lt/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start atviri-teise-s-aktai-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "atviri-teise-s-aktai-mcp": {
      "type": "http",
      "url": "https://atviri-teises-aktai.lt/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 atviri-teise-s-aktai-mcp https://atviri-teises-aktai.lt/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": {
    "atviri-teise-s-aktai-mcp": {
      "url": "https://atviri-teises-aktai.lt/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": {
    "atviri-teise-s-aktai-mcp": {
      "serverUrl": "https://atviri-teises-aktai.lt/mcp"
    }
  }
}

Let your agent find its tools

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

Do you run Atviri teisės aktai MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing