{"id":50454154,"url":"https://github.com/mizcausevic-dev/mcp-ai-tutor","last_synced_at":"2026-06-01T01:05:42.350Z","repository":{"id":357459326,"uuid":"1236890514","full_name":"mizcausevic-dev/mcp-ai-tutor","owner":"mizcausevic-dev","description":"MCP server for AI Tutor Card disclosures. Six tools for procurement review, curriculum matching, and FERPA / COPPA compliance auditing of AI tutors. EdTech-flavored extension of the Kinetic Gain Protocol Suite.","archived":false,"fork":false,"pushed_at":"2026-05-12T21:40:37.000Z","size":55,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-12T22:30:21.268Z","etag":null,"topics":["ai-safety","ai-tutor","claude","coppa","edtech","education","ferpa","kinetic-gain-protocol-suite","mcp","mcp-server","model-context-protocol","protocol-implementation"],"latest_commit_sha":null,"homepage":"https://github.com/mizcausevic-dev/mcp-ai-tutor","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mizcausevic-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-12T17:09:37.000Z","updated_at":"2026-05-12T21:40:40.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mizcausevic-dev/mcp-ai-tutor","commit_stats":null,"previous_names":["mizcausevic-dev/mcp-ai-tutor"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/mizcausevic-dev/mcp-ai-tutor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mizcausevic-dev%2Fmcp-ai-tutor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mizcausevic-dev%2Fmcp-ai-tutor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mizcausevic-dev%2Fmcp-ai-tutor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mizcausevic-dev%2Fmcp-ai-tutor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mizcausevic-dev","download_url":"https://codeload.github.com/mizcausevic-dev/mcp-ai-tutor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mizcausevic-dev%2Fmcp-ai-tutor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33755379,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-safety","ai-tutor","claude","coppa","edtech","education","ferpa","kinetic-gain-protocol-suite","mcp","mcp-server","model-context-protocol","protocol-implementation"],"created_at":"2026-06-01T01:05:42.270Z","updated_at":"2026-06-01T01:05:42.340Z","avatar_url":"https://github.com/mizcausevic-dev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mcp-ai-tutor\n\nAn **MCP server** that exposes [AI Tutor Card](https://github.com/mizcausevic-dev/ai-tutor-card-spec) declarations as tools. Drop into Claude Desktop, Cursor, or any MCP-compatible client. The agent — or the procurement reviewer driving it — gains six tools for inspecting any AI tutor's audience, pedagogy, safety posture, and FERPA / COPPA / GDPR compliance.\n\nThis is the EdTech-flavored sibling of [mcp-aeo-server](https://github.com/mizcausevic-dev/mcp-aeo-server). Same Tool Card discipline, different spec.\n\n## Tools\n\n| Tool | What it does |\n|---|---|\n| `tutor_card_well_known_url` | Compute `/.well-known/tutors/\u003ctutor_id\u003e.json` for a vendor origin |\n| `tutor_card_fetch` | Fetch a published Tutor Card from any URL |\n| `tutor_card_validate` | Schema-validate an inline document; also runs the COPPA conditional check |\n| `tutor_card_inspect` | Procurement-grade summary: audience, pedagogy, safety, privacy posture, eval count |\n| `tutor_card_subject_check` | Given a topic query, classify it as `primary`, `included`, `excluded`, or `unknown` |\n| `tutor_card_coppa_check` | Verify the spec's conditional COPPA rule (age_range_min \u003c 13 ⇒ coppa_compliant) |\n\nSix total. Tools that act on a document accept *either* `url` (the server fetches it) *or* `document_json` (an inline JSON string).\n\n## Install\n\n```bash\nnpm install -g @mizcausevic-dev/mcp-ai-tutor\n```\n\nOr run without installing via `npx`:\n\n```bash\nnpx @mizcausevic-dev/mcp-ai-tutor\n```\n\n## Claude Desktop config\n\nAdd to `claude_desktop_config.json` (macOS: `~/Library/Application Support/Claude/`, Windows: `%APPDATA%\\Claude\\`):\n\n```json\n{\n  \"mcpServers\": {\n    \"ai-tutor\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@mizcausevic-dev/mcp-ai-tutor\"]\n    }\n  }\n}\n```\n\nRestart Claude. All six `tutor_card_*` tools appear.\n\n## Workflows this unlocks\n\n**District procurement review.** Pull two tutors' cards in one conversation and let Claude compare them:\n\n\u003e *\"Fetch both `https://vendor-a.example/.well-known/tutors/math-tutor.json` and `https://vendor-b.example/.well-known/tutors/math-tutor.json`, run `tutor_card_inspect` on each, and tell me which has stricter content filters and which keeps less student data.\"*\n\n**Procurement red-team.** A board reviewer can ask Claude to surface deal-breakers:\n\n\u003e *\"For `tutor.example.com/k12-math`, run `tutor_card_coppa_check`. If it fails, that's a blocker for our K-5 deployment.\"*\n\n**Curriculum-to-tutor matching.** A curriculum director can map lessons to candidate tutors:\n\n\u003e *\"My middle-school unit covers ratios, proportions, and pre-algebra. For each candidate tutor card I'll pass you, run `tutor_card_subject_check` on each of those three topics and tell me which tutor covers all three as primary or included.\"*\n\n## Sample output: `tutor_card_inspect`\n\n```json\n{\n  \"tutor_card_version\": \"0.1\",\n  \"tutor\": {\n    \"id\": \"kineticgain-k12-math-tutor\",\n    \"name\": \"Kinetic Gain K-12 Math Tutor\",\n    \"version\": \"1.4.0\",\n    \"provider\": \"Kinetic Gain Edu\"\n  },\n  \"audience\": {\n    \"ages\": \"5-18\",\n    \"grades\": \"K-12\",\n    \"languages\": [\"en\", \"es\"]\n  },\n  \"pedagogy\": {\n    \"approach\": \"socratic\",\n    \"homework_policy\": \"guide_only\",\n    \"assessment_policy\": \"refuse\"\n  },\n  \"subject_scope\": { \"primary\": [\"Math\"], \"includes\": 11, \"excludes\": 4 },\n  \"safety\": {\n    \"content_filter_strength\": \"strict\",\n    \"mandated_reporter_protocol\": true,\n    \"human_in_loop_categories\": [\"mental_health_disclosure\", \"abuse_disclosure\", \"self_harm_disclosure\", \"bullying_disclosure\"]\n  },\n  \"privacy\": {\n    \"ferpa_compliant\": true,\n    \"coppa_compliant\": true,\n    \"gdpr_compliant\": true,\n    \"retention_days\": 90,\n    \"parents_see\": \"summaries_only\",\n    \"school_sees\": \"summaries_only\",\n    \"shares_with_third_parties\": false\n  },\n  \"agent_card_uri\": \"https://edu.kineticgain.com/.well-known/agents/k12-math-tutor.json\",\n  \"evaluation_count\": 3,\n  \"coppa_check\": { \"ok\": true, \"reason\": \"Audience min age is 5 (\u003c13) and coppa_compliant=true, as required by the spec.\", \"age_range_min\": 5, \"coppa_compliant\": true }\n}\n```\n\n## Tests\n\n17 unit tests covering every tool, every classification path of `tutor_card_subject_check`, every branch of `tutor_card_coppa_check`, and a published-card fetch via an in-process Node HTTP server (no external network).\n\n```bash\nnpm install\nnpm run typecheck\nnpm test\nnpm run build\n```\n\n## Why this beats a vendor brochure\n\nA PDF whitepaper says \"we are FERPA-compliant.\" A signed Tutor Card the buyer's MCP-equipped review agent can read says **exactly which fields**, in a format two competing tutors can be diffed against. The procurement workflow gets a CI gate, not a sales call.\n\n## Compatibility\n\n- Node `18+`\n- `@modelcontextprotocol/sdk` `^1.0`\n- Tested with Claude Desktop, Cursor, and any client speaking MCP over stdio\n\n## License\n\nAGPL-3.0.\n\n## Kinetic Gain Protocol Suite\n\n| Spec | This server's role |\n|---|---|\n| [AEO Protocol](https://github.com/mizcausevic-dev/aeo-protocol-spec) | covered by [mcp-aeo-server](https://github.com/mizcausevic-dev/mcp-aeo-server) and [mcp-kinetic-gain](https://github.com/mizcausevic-dev/mcp-kinetic-gain) |\n| [Prompt Provenance](https://github.com/mizcausevic-dev/prompt-provenance-spec) | covered by [mcp-kinetic-gain](https://github.com/mizcausevic-dev/mcp-kinetic-gain) |\n| [Agent Cards](https://github.com/mizcausevic-dev/agent-cards-spec) | covered by [mcp-kinetic-gain](https://github.com/mizcausevic-dev/mcp-kinetic-gain); Tutor Cards specialize this spec for education |\n| [AI Evidence Format](https://github.com/mizcausevic-dev/ai-evidence-format-spec) | covered by [mcp-kinetic-gain](https://github.com/mizcausevic-dev/mcp-kinetic-gain) |\n| [MCP Tool Cards](https://github.com/mizcausevic-dev/mcp-tool-card-spec) | covered by [mcp-kinetic-gain](https://github.com/mizcausevic-dev/mcp-kinetic-gain) |\n| **[AI Tutor Cards](https://github.com/mizcausevic-dev/ai-tutor-card-spec)** | **mcp-ai-tutor (this)** |\n\n---\n\n**Connect:** [LinkedIn](https://www.linkedin.com/in/mirzacausevic/) · [Kinetic Gain](https://kineticgain.com) · [Medium](https://medium.com/@mizcausevic/) · [Skills](https://mizcausevic.com/skills/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmizcausevic-dev%2Fmcp-ai-tutor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmizcausevic-dev%2Fmcp-ai-tutor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmizcausevic-dev%2Fmcp-ai-tutor/lists"}