lk-tko-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@lk-tko-mcpCheck the current debt for contragent with INN 7701234567"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
lk-tko-mcp
An MCP server (Model Context Protocol) in Python that gives Claude tool access to the LK system (personal account, project lk-tko-v2).
What it is and why
MCP is an open protocol through which an external process gives the LLM a set of “tools”: ordinary functions with typed arguments. By connecting the server to Claude Code, you can ask Claude to call a specific function (“get counterparty status by INN”, “calculate penalties for a period for lkUser”, etc.) instead of explaining the context in text or manually digging into the DB/code every time.
The goal of this pet project is to build a reusable tool layer over the LK business logic that you can use from any future Claude Code session, not just inside the main repository.
Related MCP server: MCP4Acumatica
Stack
Python 3.10+, dependency manager —
uvSDK:
mcp[cli](v2, packagemcp==2.1.0), classmcp.server.MCPServerTransport: stdio (Claude Code launches the process and communicates with it over stdin/stdout)
Integration stack
The first tool (get_contragent_status) talks to the CUBA REST API v2 of lk-tko-v2 (OAuth2 password grant + generic entity search on rtneo$Contragent) — not directly to the DB. The request format is confirmed by working examples from curls.txt in the lk-tko-v2 repository.
Structure
lk-tko-mcp/
├── server.py # MCPServer + @mcp.tool() функции — вся логика инструментов
├── lk_client.py # REST-клиент к lk-tko-v2 (OAuth2 + entity search)
├── run.py # точка входа, которую регистрирует Claude Code
├── .env.example # шаблон переменных окружения для доступа к ЛК (реальный .env не коммитится)
├── pyproject.toml
└── uv.lockRunning and verifying locally
uv run mcp dev run.py # открывает MCP Inspector в браузере — можно вручную вызывать toolsConnecting to Claude Code
claude mcp add lk-tko-mcp -- uv run run.py
claude mcp list # проверить, что статус ConnectedDevelopment plan
Scaffold — done. A server with
pingandget_contragent_status; runs locally and via Inspector.REST client — done.
lk_client.py: OAuth2 password grant with token caching +search_entity()on top of CUBA REST v2.First real integration — done and verified live.
get_contragent_statusactually calls the lk-tko-v2 REST API vialk_client.search_entity("rtneo$Contragent", ...); verified via MCP Inspector with real data from the test environment.Connecting to Claude Code — done.
claude mcp add lk-tko-mcp -- uv run run.py, status✔ Connected. A guide for onboarding other developers — seeONBOARDING.md.Debt/billing (Priority 1 from RESEARCH.md) — done, 6 of 7 verified.
get_contragent_debt,get_debt_by_phone,get_debt_by_email,get_serviced_periods,get_calculation_amount_type,get_contract,get_fine_details— all implemented via two new REST helpers inlk_client.py(call_v3for custom v3 controllers,call_servicefor declarative v2 services).get_contragent_billsis implemented but blocked by a bug on the lk-tko-v2 side (see note below).get_calculations_tabs,get_debt_breakdown_by_real_estate,find_contragents_with_debt_older_than— not implemented, they have no REST wrapper in lk-tko-v2 at all (confirmed by grep across the entire repository).
Known issues
get_contragent_billsfails with 500. A bug on the lk-tko-v2 side:BillRepository.getBillsByContragentAndPeriod(line 71) references a nonexistent aliasb.documentNumberinstead ofe.documentNumber— this breaks JPQL compilation on any call to/app/rest/v3/bill. A separate task has been filed to fix it in lk-tko-v2; our code is not at fault here.
Expanding the toolset — one tool per specific recurring scenario (e.g., period/penalties for lkUser — see project memory
project_lk_user_config), don't abstract in advance.(Optional) team access —
claude mcp add lk-tko-mcp --scope project -- uv run run.pywill create.mcp.jsonin the repository, which can be committed (without secrets).
Verification (after filling in .env)
# 1. Юнит-уровень, без Claude
uv run python -c "from lk_client import search_entity; print(search_entity('rtneo$Contragent', [{'property':'inn','operator':'=','value':'<реальный ИНН>'}]))"
# 2. Через MCP Inspector
uv run mcp dev run.py
# 3. End-to-end
claude mcp add lk-tko-mcp -- uv run run.py
claude mcp listSecurity notes
.envis not committed; real secrets (client_id/secret, login/password) are stored only locally.By default, point to the local dev instance of lk-tko-v2 (
http://localhost:8080) rather than staging/prod — there may be non-anonymized personal data there.The
Contragententity has no pre-confirmed "status" field —get_contragent_statusreturns the found entity in full; the field for the real status needs to be determined based on the actual REST API response.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceBridges Claude Code to the Rowan Rose CRM, translating MCP tool calls into REST API requests for contacts, cases, documents, and more.
- AlicenseNot gradedqualityAmaintenanceEnables Claude to interact with Acumatica ERP through a remote MCP server with per-user OAuth, role-based access, and 44 tools for querying and managing ERP data.17Apache 2.0
- AlicenseBqualityAmaintenanceMCP server that enables Claude Code to access, monitor, and manage MikroTik RouterOS devices via its REST API, with 92 tools for read-only and optional write operations.92Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables Claude Code to interact with miibo AI agents (AI employees) via MCP tools, supporting chat, employee management, admin operations, and knowledge addition through the miibo chat API.MIT
Related MCP Connectors
A paid remote MCP for AI SDK data query MCP, built to return verdicts, receipts, usage logs, and aud
A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage
A paid remote MCP for Context7 MCP docs, built to return verdicts, receipts, usage logs, and audit-r
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/K1mvasyok/lk-tko-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server