Skip to main content

iApp AI MCP Server

The iApp AI MCP server gives Claude, Cursor, Codex and any other MCP client the iApp APIs as tools: OCR, eKYC, speech, translation, Thai legal data, and image, slide and video generation. Add this URL to your client and sign in with your iApp account. OAuth links your API key on our side, so there is no key to copy; calls bill your credits at the normal API price.

https://mcp.iapp.co.th

Connect your client​

  1. In Claude Desktop or claude.ai, open Settings → Connectors.
  2. Click Add custom connector. Name: iApp AI. URL: https://mcp.iapp.co.th. Leave the OAuth fields empty.
  3. Click Connect, sign in with your iApp account and approve.

Then ask in Thai or English; the assistant picks the tool:

หาฎีกาที่ตีความ ป.อ. มาตรา 335 หลังปี 2560
แปลข้อความนี้เป็นภาษาญี่ปุ่น
Make me a 6-slide deck introducing our new product, clean corporate style
Generate a 10-second 720p video of a tuk-tuk driving through Bangkok at night

Choosing the tools​

By default the connector serves the most-used services: speech-to-text, text-to-speech, document OCR, Thai law, Supreme Court, Council of State and Administrative Court data with grounded legal Q&A, face verification, passive liveness, translation, Thai ID card, driver licence and passport OCR, Thai holidays, background removal, licence plate recognition, and image, slide and video generation. File inputs are public http(s) URLs, because the server runs remotely and cannot read your disk.

Every tool definition takes space in your assistant's context for the whole session. To serve a different set, add a query string to the URL; an unknown name is skipped, not rejected.

  • https://mcp.iapp.co.th/?tools=all: every tool on the remote server
  • https://mcp.iapp.co.th/?groups=legal: one group, the smallest context
  • https://mcp.iapp.co.th/?groups=default,llm: the defaults plus one group
  • https://mcp.iapp.co.th/?tools=iapp_translate,iapp_summarize: only the tools you name

Groups: speech, ocr, identity, face, vision, legal, data, nlp, llm, generation.

Local server​

The iapp-mcp package runs on your machine over stdio with your own API key. Use it to read local files and to reach every tool. It needs:

  • An API key: log in, open API Keys in the control panel and click Create New Key. The key is shown once.

  • uv (Python 3.10+). The npm package (Node.js 18+) launches the same Python server, so uv is needed either way:

    curl -LsSf https://astral.sh/uv/install.sh | sh    # or: brew install uv
  1. Claude Code:

    claude mcp add iapp-mcp -s user -e IAPP_API_KEY=YOUR_API_KEY -- uvx iapp-mcp
  2. Claude Desktop, Cursor and other clients with a JSON config:

    {
    "mcpServers": {
    "iapp-mcp": {
    "command": "uvx",
    "args": ["iapp-mcp"],
    "env": { "IAPP_API_KEY": "YOUR_API_KEY" }
    }
    }
    }

In Claude Code, -s user adds the server to every project on this machine, -s project writes a shared .mcp.json for the repository, and the default -s local covers this project on this machine only. claude mcp list should show it as connected.

Install permanently instead

Install it with one of these:

uv tool install iapp-mcp     # or: pip install iapp-mcp
npm install -g iapp-mcp # or: yarn global add iapp-mcp, or: pnpm add -g iapp-mcp

yarn dlx iapp-mcp and pnpm dlx iapp-mcp run it without installing. Once installed, launch it as iapp-mcp:

claude mcp add iapp-mcp -s user -e IAPP_API_KEY=YOUR_API_KEY -- iapp-mcp
{
"mcpServers": {
"iapp-mcp": {
"command": "iapp-mcp",
"env": { "IAPP_API_KEY": "YOUR_API_KEY" }
}
}
}

To check that it starts:

IAPP_API_KEY=YOUR_API_KEY iapp-mcp

Tool reference​

On the local server, file inputs are paths on your machine and generated files are written to the output_path you name; on the remote connector, inputs are public URLs and images and slides come back in the conversation. Each tool's description states its price in IC, and large base64 fields in a response are truncated to keep the context small.

eKYC
ToolWhat it doesKey inputs
iapp_thai_id_card_ocrReads a Thai national ID cardfile_path, side (front/back)
iapp_thai_id_card_photocopy_ocrReads a photocopied ID card and detects the signaturefile_path
iapp_passport_ocrReads the MRZ and personal data of any passportfile_path, segmentation
iapp_thai_driver_license_ocrReads a Thai driver licencefile_path
iapp_book_bank_ocrReads the account name and number from a bank bookfile_path
iapp_face_verificationChecks whether two face photos are the same person (1:1)image1_path, image2_path, threshold
iapp_face_detectionFinds faces and their bounding boxesfile_path, mode (single/multi)
iapp_face_livenessDetects photo-of-photo and screen spoofingfile_path
iapp_face_id_card_kycMatches a selfie against the face on an ID cardid_card_path, selfie_path
iapp_face_recognitionEnrols and searches faces in a company database (1:N)action, company, file_path, name, password
Thai document OCR
ToolWhat it doesKey inputs
iapp_document_ocrOCR for any Thai documentfile_path, mode: text / layout / docx
iapp_receipt_ocrLine items and totals from Thai receiptsfile_path, return_ocr
iapp_credit_card_statement_ocrTransactions from card statementsfile_path, return_ocr
iapp_tax_deduction_certificate_ocrWithholding tax certificates (50 ทวิ)file_path, return_ocr
iapp_civil_registration_ocrThai civil registration certificatesfile_path, return_ocr
iapp_resume_ocrStructured data from a resume, with an AI evaluationfile_path
iapp_job_description_ocrStructured data from a job descriptionfile_path
Large language models
ToolWhat it doesKey inputs
iapp_llm_chatChat with LLMs hosted on iApp (OpenAI-compatible)prompt or messages, model: deepseek-chat (default) / deepseek-reasoner / deepseek-v4-flash / deepseek-v4-pro, system_prompt, max_tokens, temperature
iapp_openthai_legal_chatThai legal answers that return the statute sections they cite; 0.01 / 0.02 IC per 1K input / output tokensprompt or messages, rag (default true), rag_top_k, rag_inject (user/system), max_tokens, temperature
iapp_thanoy_legal_qaThai legal questions (Thanoy Legal AI)query
Thai NLP
ToolWhat it doesKey inputs
iapp_translateTranslates between 28 languagestext, source_lang, target_lang
iapp_summarizeSummarises Thai or English texttext, style, language
iapp_sentiment_analysisClassifies Thai text as positive, neutral or negativetext
iapp_toxicity_classificationDetects toxic Thai texttext
iapp_thai_qaAnswers a question from a given Thai documentquestion, document
iapp_question_generationGenerates question-answer pairs from Thai texttext
Speech
ToolWhat it doesKey inputs
iapp_speech_to_textTranscribes audio and labels the speakersfile_path, language (th/en/zh), quality (base/pro)
iapp_text_to_speechSpeaks Thai text and saves an audio filetext, output_path, voice, speed
iapp_voice_clone_ttsSpeaks text in a voice cloned from a sampletext, ref_audio_path, ref_text, output_path
iapp_ai_audio_detectionChecks whether audio was AI-generatedaudio_path
Image, slide and video generation
ToolWhat it doesKey inputs
iapp_image_generationGenerates an image from textprompt, model
iapp_slide_generationGenerates one finished 16:9 slidetitle, content, style, aspect_ratio, image_size
iapp_slide_deck_generationGenerates a whole deck in one call, up to 8 slides at onceslides[], style, aspect_ratio, image_size
iapp_remove_backgroundRemoves the background from an imageimage_url (remote) / file_path (local)
iapp_video_generation_submitStarts a Seedance video job and returns a task idprompt, model, duration, ratio, resolution, generate_audio
iapp_video_generation_statusPolls a video job and returns the download URLtask_id
  • Image, slide and video generation need a paid account; the free sign-up bonus does not unlock them. Any IC package purchase unlocks video.
  • Image 3 IC (nanobanana) or 8 IC (nanobanana-pro); slide 8 IC; video per output token, about 27 IC for a 5-second 720p clip. Failed video jobs and status polls cost 0 IC.
  • A slide renders in 15 to 30 seconds. A video takes 30 seconds to 4 minutes, so it is submitted, then polled; its download URL is valid for about 24 hours.
  • Pass image_size: "1K" while iterating on slides and 2K for the final render. Generated slides suit title and concept slides, not a table where every figure must be exact.
Smart city and Thai data
ToolWhat it doesKey inputs
iapp_license_plate_ocrReads Thai vehicle licence platesfile_path
iapp_meter_ocrReads power and water meter valuesfile_path
iapp_route_optimizationPlans delivery routes for several drivers, up to 100 stopsorigin_address + coordinates, stops, driver_count
iapp_thai_holidaysLooks up Thai public holidaysyear, or start_date + end_date, or nothing
Thai legal data
ToolWhat it doesKey inputs
iapp_thai_law_listThe catalogue of laws, free; call it first for valid law namesq (optional name filter)
iapp_thai_law_sectionA section's verbatim text, optionally with the Supreme Court decisions citing itlaw, section, with_deka
iapp_thai_law_searchSemantic statute search from a Thai fact patternquery, top_k (1–20, default 8)
iapp_thai_deka_searchPrecedent search across 133,159 ฎีกา documents, filterable by the section citedquery, cites_law, cites_section, year_from, top_k
iapp_thai_deka_getOne ruling by ฎีกา number (1234/2565 or 1234-2565)case_id, include_body
iapp_thai_legal_askA grounded answer with machine-verified citations; never invents a case numberquestion, include_deka
iapp_thai_krisdika_opinion_searchCouncil of State opinions by subject, linking the official PDFquery, top_k
iapp_thai_admincourt_searchAdministrative Court decisions by subject, parties or case number, linking the official PDFquery, court, top_k

Full details: Thai Legal Data API/MCP.

Troubleshooting​

iapp-ai shows Needs authentication

This is expected right after adding it: run /mcp, pick iapp-ai → Authenticate and sign in.

The local iapp-mcp shows failed, often on Windows

It needs uv on your PATH; run uvx iapp-mcp to see the error. Or switch to the remote server, which needs neither uv nor a key: claude mcp remove iapp-mcp, then claude mcp add --transport http iapp-ai https://mcp.iapp.co.th.

Every tool returns an authentication error

The IAPP_API_KEY value is wrong or expired; re-add the server with a key from API Keys in the control panel.

The server is missing in another project

It was added with the default -s local scope; re-add it with -s user.

HTTP 402, insufficient credits

Top up in the control panel; each tool's price is on the pricing page. Video generation is rejected until the account is paid.

© 2026 iApp Technology Co., Ltd.TermsPrivacyStatussale@iapp.co.th