{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_4gtjy62vryz4","handle":"liberrex-mcp-client","url":"https://wellknown.network/agents/liberrex-mcp-client","links":{"self":"https://wellknown.network/agents/liberrex-mcp-client/record.json","html":"https://wellknown.network/agents/liberrex-mcp-client","markdown":"https://wellknown.network/agents/liberrex-mcp-client/record.md","api":"https://wellknown.network/api/v1/agents/liberrex-mcp-client","status":"https://wellknown.network/api/v1/agents/liberrex-mcp-client/status","claim":"https://wellknown.network/agents/liberrex-mcp-client/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/liberrex-mcp-client/claim.json","badge":"https://wellknown.network/agents/liberrex-mcp-client/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/liberrex-mcp-client/history","tools":"https://wellknown.network/api/v1/agents/liberrex-mcp-client/tools"},"ard":{"identifier":"urn:air::server:liberrex-mcp-client","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"liberrex-mcp-client","summary":"Call other platforms' tools on the Liberrex MCP mesh, from async or sync code, and hand them to an LLM as function-calling tools.","description":"# liberrex-mcp-client (Python)\n\nCall the tools of other platforms on the **Liberrex MCP mesh** (Liberrex AI, Animatoria, the ERP…) from async or sync\ncode, and hand them to an LLM as function-calling tools. Implements the [mesh conventions](../../MCP_MESH.md); the\nother side is [`liberrex-mcp-server`](../../mcp-server/python). TypeScript equivalent:\n[`@liberrex/mcp-client`](../typescript).\n\n```bash\npip install liberrex-mcp-client\n```\n\n## Configure the platforms you call\n\n```bash\nLIBERREX_MCP_PLATFORM=animatoria         # this platform's own name (trace origin)\nLIBERREX_MCP_PLATFORMS='{\"liberrex-ai\": {\"url\": \"https://ai-api.liberrex.com/mcp\", \"key\": \"lxp_…\"},\n                         \"erp\":         {\"url\": \"https://erp.acme.tn/mcp\", \"key\": \"lxp_…\", \"timeout\": 20}}'\n```\n\nEach platform issues your key (`liberrex-mcp-server new-key <your-name>`) and lists you in its `LIBERREX_MCP_PEERS`.\nKeys are secrets: keep them server-side.\n\n## Call tools\n\n```python\nfrom liberrex_mcp_client import Identity, Mesh, PlatformToolError\n\nmesh = Mesh.from_env()\nsara = Identity(user_id=\"42\", tenant_id=\"biat\", roles=(\"sales.read\",), locale=\"fr\")   # the signed-in user\n\nrecs = await mesh.call(\"liberrex-ai\", \"sales_recommendations\",\n                       {\"mode\": \"next_best_product\", \"context\": {\"record\": {\"type\": \"Customer\", \"id\": \"C-118\"}}},\n                       identity=sara)\n\ntry:\n    mesh.call_sync(\"erp\", \"send_reminder\", {\"invoice_id\": \"F-1024\"}, identity=sara)   # Flask, Celery, scripts\nexcept PlatformToolError as error:\n    if error.code == \"writes_disabled\": ...\n```\n\n- The identity is the **signed-in person**, set by your code and never by a model. The called platform applies that\n  person's permissions.\n- `PlatformToolError.code` is a mesh code: `forbidden`, `not_found`, `identity_required`, `tenant_not_allowed`,\n  `writes_disabled`, `rate_limited`… `PlatformUnavailable` means the platform was unreachable or refused the key.\n- `list_tools(name)` is cached for 5 minutes. Each `Rem…","publisher":{"name":"Liberrex","url":null},"homepage":"https://ai.liberrex.com","repository":null,"version":"0.1.0","license":"Liberrex MCP client — Proprietary License\n        \n        Copy…","protocols":["mcp"],"tags":["liberrex","mcp","model-context-protocol","ai","agents","integration"],"pricing":null,"endpoints":[{"url":"pypi:liberrex-mcp-client","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"security.identity","name":"Identity & Access","confidence":0.859,"provenance":"derived"}],"categories":["security"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"liberrex-mcp-client","registry":"pypi","observedAt":"2026-11-05T21:26:48.527Z","publishedAt":"2026-10-17T13:44:23.887970Z","latestVersion":"0.1.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"liberrex-mcp-client","url":"https://pypi.org/project/liberrex-mcp-client/","firstSeenAt":"2026-10-18T16:29:17.990Z","fetchedAt":"2026-11-05T21:26:10.406Z","normalizedAt":"2026-11-05T21:26:10.406Z"}]},"firstSeenAt":"2026-10-18T16:29:17.990Z","updatedAt":"2026-11-05T21:26:48.527Z"}