Honest Elf

Presentación electrónica de documentos judiciales para agentes de IA. Busque tribunales y casos de Texas, redacte escritos, obtenga cotizaciones de tarifas reales y presente con la aprobación explícita del usuario mediante una integración certificada de Tyler EFM.

Servidor MCP alojado

npx add-mcp 'https://mcp.honestelf.com/mcp'

Se instala en Claude Code, Codex, Cursor y más

Documentación

Honest Elf MCP Server

A remote Model Context Protocol (MCP) server that lets AI assistants prepare, submit, and track court e-filings through Honest Elf, a certified Texas Electronic Filing Service Provider (EFSP). This page is the reference for users and IT administrators: how the server is connected, how it authenticates, exactly what its tools can do, and how data is handled.

Overview

Honest Elf is an Electronic Filing Service Provider operated by Zhakhan LLC. It transmits court filings to Texas courts through the Tyler Technologies Odyssey File & Serve Electronic Filing Manager (EFM) — the same state-mandated infrastructure every Texas e-filing provider uses. The MCP server exposes that capability to MCP-compatible AI clients (Claude, Claude Code, ChatGPT, and custom agents).

An agent connected to the server acts on behalf of one signed-in Honest Elf user, within that user's firm and jurisdiction. It can look up courts and their filing rules, search existing cases in the court record, assemble filing drafts with PDF documents, obtain an official fee quote, submit for clerk review after explicit user approval, and track outcomes. Filings submitted this way are ordinary e-filings: courts see a standard submission from a certified EFSP, reviewed by a clerk like any other.

Connection details

Endpointhttps://mcp.honestelf.com/mcp
TransportStreamable HTTP
AuthenticationOAuth 2.1 with PKCE and dynamic client registration
Scopeefile
Tools39 (see the tool reference below)
JurisdictionTexas courts (all Tyler-served e-filing courts)
HostingCloud-hosted by Honest Elf; TLS on all endpoints

Connecting a client

Claude.ai / Claude Desktop: add a custom connector pointing at https://mcp.honestelf.com/mcp (Settings → Connectors → Add custom connector), or install it from the Claude connector directory if listed there.

Claude Code:

claude mcp add --transport http honest-elf https://mcp.honestelf.com/mcp

Other MCP clients: any client supporting the Streamable HTTP transport and OAuth 2.1 works. The server publishes standard OAuth discovery metadata; clients register themselves via dynamic client registration — there are no API keys to provision or share.

On first use the client opens a browser window on Honest Elf's consent page. The user signs in with their Honest Elf account and approves access. No account yet? Registration is at honestelf.com/register.

Authentication & access control

  • Per-user OAuth, no shared secrets. Each connection is authorized by an individual user on Honest Elf's hosted consent page. The user's password is entered only on that page — it is never shared with the AI client, the model, or the conversation.
  • OAuth 2.1 with PKCE and rotating refresh tokens. Access tokens are short-lived; refresh tokens rotate on use. The single efile scope covers the tools on this page and nothing else.
  • Scoped to the user's own firm. Every tool call executes as the authorizing user, with that user's existing permissions. There is no cross-firm or administrative access through the MCP server.
  • Revocable at any time. Users can revoke an agent's access from their Honest Elf account; revocation takes effect immediately. The server also supports standard OAuth token revocation.
  • Court sessions are separate. If the user's session with the court system expires, tools return relink_required with a URL where the user re-authenticates — the agent's own authorization is unaffected and never widens.
  • Full audit trail. Every tool call is logged with the acting user, firm, and OAuth client. Drafts and filings created by agents appear in the Honest Elf web app, where a person can review, edit, or cancel them.

What the server can and cannot do

An agent can

  • Read court configuration, fees, and filing rules
  • Search cases in courts within the user's jurisdiction
  • Read the firm's filings, attorneys, contacts, and masked payment accounts
  • Create and edit filing drafts and attach PDFs
  • Request an official fee quote
  • Submit a prepared filing — only with the quote's confirmation token
  • Track clerk review outcomes and e-service

An agent cannot

  • Submit anything without a fee quote the user was shown
  • See card or bank numbers (payment accounts are masked references)
  • Add or modify payment accounts, attorneys, or firm users
  • Access another firm's or user's data
  • Delete or alter submitted filings (only cancel before clerk review starts)
  • Act after the user revokes access

Fees and the approval model

E-filing costs real money — court fees, optional services, e-service, and Honest Elf's provider fee. The server is built so that no charge can happen without a human seeing the number first:

  1. prepare_filing validates the draft and returns the official, itemized fee quote from the court system, a review URL where the user can read the entire prepared filing on one page, and a confirmation token that expires in 15 minutes.
  2. submit_filing requires that token. Client instructions direct the agent to show the user the fee total and obtain explicit approval first; the user can also submit from the review page themselves.
  3. At submit time the server re-verifies the draft contents and re-checks fees against the court system. If anything changed since the quote, the submission is refused (fee_changed) and must be re-prepared and re-approved.
  4. Submissions carry a client-generated idempotency key, so a retried call can never file — or charge — twice. If the court system times out mid-submission, the server reports the in-doubt state and clients reconcile with sync_filings instead of resubmitting.

Tool reference

All 39 tools, grouped by function. Read tools only return data; Write tools change state — almost all of them only on private drafts inside Honest Elf. The sole tools with court-facing side effects are submit_filing and cancel_filing; prepare_filing requests a quote from the court system but files nothing.

Account

Orientation. Clients typically call whoami first to see who is signed in and whether the court-system link is live.

ToolTypeWhat it does
whoamiReadShows the connected user, firm, jurisdiction, and whether the Tyler e-filing link is currently live (with a re-link URL if not).

Courts & filing codes

Read-only lookups of each court's own configuration. Every court defines its own case categories, types, filing codes, party roles, and fees.

ToolTypeWhat it does
search_courtsReadSearch e-filable court locations by name; returns the court_id used by every other court tool.
get_courtReadOne court's capabilities and filing rules: accepted filing paths, service and payment rules, required fields, accepted file types.
list_case_categoriesReadCase categories for a court — the first classification choice when filing.
list_case_typesReadCase types for a court, optionally filtered by category, with base filing fees.
list_case_subtypesReadCase subtype codes, for courts that require one.
list_filing_codesReadFiling codes available for a filing context (court + initial/subsequent + case classification).
get_filing_code_detailsReadEverything needed to attach documents for one filing code: components, document security types, and optional services with fees.
list_party_typesReadParty role codes for a court, including the roles a case type requires.
list_case_extrasReadCategory-dependent extra fields: damage amounts, procedure/remedy options, cross-reference number types.

Live case lookup

Read-only queries against the court record, scoped to courts in the user's jurisdiction.

ToolTypeWhat it does
search_casesReadFind an existing case in a court by case number, party name, or organization name.
get_caseReadFull detail for one existing case: classification codes and current parties.
get_case_service_contactsReadService contacts attached to an existing case — who would receive e-service on a Serve filing.

Firm data

Read-only lists scoped to the signed-in user's firm. New payment accounts and attorneys cannot be created through the MCP server — only in the Honest Elf web app.

ToolTypeWhat it does
list_attorneysReadThe firm's attorneys registered with the court system, for use as filing or party attorneys.
list_firm_service_contactsReadThe firm's master list of service contacts for e-service.
list_payment_accountsReadThe firm's registered payment accounts (masked — no card or bank numbers). A draft references one by id.

Drafting

Drafts are private working copies inside Honest Elf. Nothing reaches the court until submit_filing. Drafts created by agents are visible and editable in the web app.

ToolTypeWhat it does
create_draftWriteCreate a filing draft (envelope) with case, parties, filings, and service recipients in one call.
get_draftReadInspect a draft: case, parties, filings with documents, service recipients, and current validation problems.
update_draftWriteUpdate envelope-level fields (payment account, filer type, filing attorney, comment, fee-responsible party).
delete_draftWriteDelete a draft and its documents. Only drafts — submitted envelopes are court records and cannot be deleted.
add_filingWriteAdd another filing to an existing draft.
update_filingWriteUpdate one filing in place; uploaded documents are preserved.
remove_filingWriteRemove one filing (and its documents) from a draft.
add_partyWriteAdd a party to a draft's case.
update_partyWriteUpdate one party's fields on a draft.
remove_partyWriteRemove a party from a draft (blocked while a filing or the fee-responsible role references it).
set_service_recipientsWriteReplace the draft's e-service recipient list.

Documents

PDFs attach to draft filings. The recommended path is an out-of-band upload — a browser upload page or a presigned URL — so file bytes never pass through the AI model. Only the small inline path sends bytes through the conversation, and it is capped at 2 MB.

ToolTypeWhat it does
create_document_uploadWriteStart an out-of-band upload: returns a browser upload page for a human, or a presigned PUT URL for a client that has the file. Bytes go straight to encrypted storage.
finalize_documentWriteValidate a PDF uploaded via presigned URL and attach it to the filing.
upload_documentWriteInline upload for small PDFs (max 2 MB, base64 through the model). For anything larger, create_document_upload.
remove_documentWriteRemove one uploaded document from a draft filing; the file is deleted from storage.

Prepare, submit & cancel

The only tools that touch the live court system with side effects. Submission is bound to a fee quote the user has seen — see the approval model above.

ToolTypeWhat it does
prepare_filingWriteServer-side validation plus the official fee quote from the court system. Returns an itemized fee breakdown, a review URL for the user, and a confirmation token valid for 15 minutes.
submit_filingWriteSubmit a prepared envelope to the court. Requires the confirmation token, an idempotency key, and re-verifies fees at submit time.
cancel_filingWriteCancel a submitted envelope before the clerk starts reviewing it.

Status & e-service

Filings are reviewed asynchronously by court clerks. These tools track outcomes; the refresh-style ones re-read state from the court system but change nothing there.

ToolTypeWhat it does
list_filingsReadList the firm's envelopes — drafts or submitted history.
get_filing_statusReadCurrent status of one envelope (accepted / rejected / under review, clerk comments), refreshed live from the court system.
sync_filingsWriteReconcile the local filing list against the court system: imports envelopes filed elsewhere and refreshes clerk outcomes.
get_filing_documentsReadDownload links for a submitted envelope's documents as the court has them — file-stamped copies once accepted.
list_service_notificationsReadCourt e-service the firm has received, newest first.

Data handling & security

  • What flows where. Filing data (case details, parties, documents) is transmitted to the Tyler EFM and on to the destination court — that is the product's purpose. Payment details are entered directly on the court payment processor's own pages; Honest Elf and the MCP server handle only masked references and fee amounts.
  • Documents can bypass the model. The recommended upload paths (browser upload page or presigned URL from create_document_upload) send file bytes directly to encrypted object storage — they never enter the AI conversation. The inline path exists for small files (≤ 2 MB) and is explicitly labeled as passing through the model.
  • Encryption. TLS in transit on every endpoint; documents at rest in encrypted object storage; the user's court-system credentials stored encrypted and used only to authenticate against the EFM.
  • Logging and retention. Tool calls are logged for security, billing, and troubleshooting. Collection and retention details — including for documents and case data — are in the privacy policy, which covers the MCP server explicitly.
  • Human oversight. Everything an agent creates is visible in the Honest Elf web app under the same account, so supervising attorneys and staff can review agent activity with no extra tooling.

Error codes

Tool errors are JSON objects with a stable code and a recovery path, so agents fail predictably instead of guessing. The most important codes:

CodeMeaning
validation_failedThe draft has problems; every problem is listed so it can be fixed with the edit tools.
fee_changedFees moved between quote and submission. The submission is refused; re-run prepare_filing and get the user's approval again.
confirmation_expiredThe 15-minute confirmation token lapsed or the draft changed since the quote. Re-run prepare_filing.
relink_requiredThe user's court-system session expired. Includes the URL where the user re-authenticates; no agent re-authorization needed.
submission_pending_verificationThe court system timed out mid-submission; the filing may have gone through. Clients must not resubmit — sync_filings reconciles the outcome.

Support

Questions about connecting, approving the server for an organization, or anything on this page: contact support. Privacy questions: [email protected].

See also: MCP server overview · Privacy policy · Terms of service · Machine-readable overview (llms.txt)