ipa-tutor
Score a Koine Greek reading. Agents start at POST /mcp (MCP Streamable HTTP, no SSE). Tools: score, heard_as, recognize, create_upload. score_attempt is an alias of score.
score takes a Greek target plus ipa, a small audio_base64 WAV, or audio_url. ipa wins when it is also sent. The response is tutor-v1 JSON. proximity runs from 0 to 1. For λόγος heard as l o g o s it is 1.0. heard_as returns that ranking only and does not change proximity. recognize turns WAV bytes into phones and does not score. Chat, Claude, and Gemini pass JSON. They do not attach a microphone.
The JSON names each sound, a feature diff, an error code, stress, and a ranked heard_as list. It does not include a pronunciation tip.
Public host: https://ipa.raymati.com. Local IPA scoring: http://127.0.0.1:43117.
For agents
- Install has the client snippets
- llms.txt is the index
- OpenAPI 3.1 has the operations, schemas, and scored examples
- MCP server.json is
com.raymati/ipaat/mcp. /server-card.json is the same document - Agent card is the A2A discovery file. This host speaks MCP, not an A2A task API
- Registries and Submitting are the steps after deploy. This repo does not submit
An HTML page also answers Accept: text/markdown with its Markdown sibling. That negotiation is a draft. The .md URL stays available either way.