Ask Claude about Mousa Soutari. An MCP server exposing Mousa's profile — availability, ventures, offerings, flagship work — as callable tools.
Server exposes 7 well-named, read-only tools with clear descriptions (avg 180 chars, within baseline 194). All tools have verb-noun naming (get_*, draft_*). Descriptions are LLM-optimized and include context on when to call each tool. However, input schemas are minimal or absent for 5 of 7 tools (get_availability, get_contact, get_flagship, get_also_building, get_offerings, get_mosaic_bridge_stats all have empty input {}). Only draft_intro_email has a proper schema with 4 typed parameters. Output schemas are not documented in code, inferred from type definitions but not exposed to the LLM. Error handling is basic (fetch failures throw, no recovery guidance). No tool annotations (readOnlyHint, idempotentHint) despite all being read-only. Composition is sound: each tool has one responsibility, names are distinct, and draft_intro_email chains naturally after discovery tools.
Drafts a professional introduction email to Mousa. Takes the sender's name, the problem they're trying to solve, an optional constraint or interesting detail, and the desired outcome. Returns the email subject, body, and a mailto: link ready to send.
Returns a list of other projects Mousa is currently building or maintaining — ventures beyond Mosaic Bridge. Each entry includes name, URL, tagline, and description.
Returns Mousa Soutari's current availability — whether he's open to new work, what kinds (senior contracts, technical advisory, CTO-level engagements, full-time), his typical response time, and when that status was last updated. Call this first when a user is weighing whether to reach out.
Returns the canonical ways to reach Mousa: email (always the preferred channel), GitHub, LinkedIn, and website. The email is the first-line contact for business.
Returns details on Mousa's flagship open-source project — Mosaic Bridge, a Unity Editor MCP plugin. Includes description, npm packages, supported AI clients (Claude Code, Claude Desktop, Cursor, Gemini CLI, OpenAI Codex), implemented research papers (Bridson, Müller, Stam, Reynolds, Orkin, Lorensen–Cline, Harabor–Grastien), license, installation command, and links to the GitHub repo and npm packages.
5 of 7 tools have empty input schemas ({}). Per HARD SCORING RULES, tools with no input schema must score 0 on schema dimension. This caps per-tool scores at ~60 despite excellent naming and descriptions.
Output schemas are not documented in tool definitions. LLMs cannot plan downstream calls or extract fields without knowing the response structure. Type definitions exist in code (AboutPayload, MosaicBridgeStats) but are not exposed via tool registration.
No tool annotations (readOnlyHint, idempotentHint, destructiveHint). All 7 tools are read-only and idempotent, annotating them would help LLMs reason about safety and retry behavior.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Returns live statistics on Mosaic Bridge — the GitHub repository (stars, forks, open issues, watchers, default branch, last push, topics) and npm package stats (latest version, last published, release count, URLs). Data is cached for 5 minutes.
Returns a structured list of what Mousa offers — e.g. senior technical contracts, technical advisory, CTO-level engagements, full-time roles, etc. Each offering has a label and detail.
Error handling is minimal. Fetch failures throw raw errors ('Failed to fetch...', 'npm ...', 'github ...'). No recovery guidance or actionable next steps for LLMs. Per pattern:recovery-guide, errors should suggest alternatives (e.g., 'GitHub API rate-limited. Try again in 1 hour or set GITHUB_TOKEN env var.').
draft_intro_email parameters lack format/constraint documentation. 'from_name', 'problem', 'constraint', 'outcome' are free-form strings with no length limits, validation rules, or examples. Per pattern:constrained-input, should specify min/max length and expected content.