{"id":30870291,"url":"https://github.com/dimagi/commcare-connect-mcp","last_synced_at":"2026-02-02T02:32:38.175Z","repository":{"id":290745835,"uuid":"975436100","full_name":"dimagi/commcare-connect-mcp","owner":"dimagi","description":"A proof of concept demo of an MCP server for CommCare Connect","archived":false,"fork":false,"pushed_at":"2025-04-30T10:30:55.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-08-28T23:50:48.700Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dimagi.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2025-04-30T10:03:43.000Z","updated_at":"2025-04-30T10:30:59.000Z","dependencies_parsed_at":"2025-04-30T11:52:23.239Z","dependency_job_id":null,"html_url":"https://github.com/dimagi/commcare-connect-mcp","commit_stats":null,"previous_names":["dimagi/commcare-connect-mcp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dimagi/commcare-connect-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimagi%2Fcommcare-connect-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimagi%2Fcommcare-connect-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimagi%2Fcommcare-connect-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimagi%2Fcommcare-connect-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dimagi","download_url":"https://codeload.github.com/dimagi/commcare-connect-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimagi%2Fcommcare-connect-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274104064,"owners_count":25222923,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"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":[],"created_at":"2025-09-07T22:04:36.545Z","updated_at":"2026-02-02T02:32:38.129Z","avatar_url":"https://github.com/dimagi.png","language":"Python","funding_links":[],"categories":["🤖 AI/ML"],"sub_categories":[],"readme":"# Experimental MCP Server for CommCare Connect (ccc)\n\nThis is an experimental MCP server for CommCare Connect.\nYou can find a [quick video walthrough here](https://www.loom.com/share/edad9538ccfe40deac53418e595484be).\n\nTo use it with [claude code](https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview) you can run `claude` in this folder.\nYou can see the `.mcp.json` for how it is set up.\nIf you want to use a different tool you can modify the declaration accordingly.\nYou will need to have `uv` installed on your system, and you may have to specify\nabsolute paths to the `uv` executable and `server.py` file.\n\n\nThis project is built on top of the [Python MCP SDK](https://github.com/modelcontextprotocol/python-sdk).\n\n## Usage\n\nAt the moment all this can do is query the global stats API which is used by the\n[program dashboard](https://connect.dimagi.com/admin_reports/program_dashboard).\nSo basically you can ask it questions about amounts earned and paid, active users,\nand visit stats, optionally over specific date ranges (or programs/organizations if you know their IDs).\n\n## Getting an authentication token\n\nThe easiest way to get an authentication token is as a superuser to visit\n[https://connect.dimagi.com/admin/authtoken/tokenproxy/](https://connect.dimagi.com/admin/authtoken/tokenproxy/)\nand find a token associated with your email.\n\nIf you don't have any tokens, you can run the following, replacing your username and password:\n\n```\ncurl -X POST -d \"username=you@dimagi.com\u0026\u003cpassword=***\" https://connect.dimagi.com/auth-token/\n```\n\nThis will create a token and print its value on the command line.\n\nYou can test that the token is valid with the following:\n\ncurl -H \"Authorization: Token YOUR_TOKEN\" \"https://connect.dimagi.com/admin_reports/api/dashboard_stats/?from_date=2024-01-01\u0026to_date=2024-12-31\"\n\n\n## Development\n\nYou can change the `SERVER_ENDPOINT` in `.mcp.json` to http://localhost:8000 to test this against a development server.\nThis will require running a development server and getting an API token through the same process as above against it.\n\nYou can also run it against [https://connect-staging.dimagi.com/](https://connect-staging.dimagi.com/) with a similar process.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimagi%2Fcommcare-connect-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdimagi%2Fcommcare-connect-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimagi%2Fcommcare-connect-mcp/lists"}