{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json","name":"io.github.chris-schra/mcp-funnel","description":"MCP proxy that aggregates multiple servers with tool filtering and customization","repository":{"url":"https://github.com/chris-schra/mcp-funnel","source":"github","id":"1055597409","subfolder":"packages/mcp"},"version":"0.0.7","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"mcp-funnel","version":"0.0.6","runtimeHint":"npx","transport":{"type":"stdio"},"runtimeArguments":[{"value":"-y","type":"positional"}],"packageArguments":[{"description":"Optional path to .mcp-funnel.json config file","format":"filepath","type":"positional","valueHint":"config_path"}],"environmentVariables":[{"description":"Alternative way to specify config file path","format":"filepath","name":"MCP_FUNNEL_CONFIG"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2025-09-17T18:55:31.888644Z","publishedAt":"2025-09-17T18:55:31.888644Z","updatedAt":"2025-09-17T18:55:31.888644Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrisbusbin-pixel/applianceiq","description":"Home appliance MCP: CPSC recall lookup, lifespan, maintenance, repair-or-replace, energy cost.","repository":{"url":"https://github.com/chrisbusbin-pixel/applianceiq-mcp-server","source":"github"},"version":"1.0.1","packages":[{"registryType":"npm","identifier":"applianceiq-mcp-server","version":"1.0.1","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-15T05:08:34.393017Z","publishedAt":"2026-05-15T05:08:34.393017Z","updatedAt":"2026-05-15T05:08:34.393017Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrisbusbin-pixel/debtfree","description":"Debt payoff calculator: snowball vs avalanche, minimum payment trap, extra-payment impact.","repository":{"url":"https://github.com/chrisbusbin-pixel/debtfree-mcp-server","source":"github"},"version":"1.0.1","packages":[{"registryType":"npm","identifier":"debtfree-mcp-server","version":"1.0.1","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-15T05:08:35.032482Z","publishedAt":"2026-05-15T05:08:35.032482Z","updatedAt":"2026-05-15T05:08:35.032482Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrisbusbin-pixel/freshtrack","description":"USDA food shelf-life database, food safety, storage tips, food waste cost calculator.","repository":{"url":"https://github.com/chrisbusbin-pixel/freshtrack-mcp-server","source":"github"},"version":"1.0.1","packages":[{"registryType":"npm","identifier":"freshtrack-mcp-server","version":"1.0.1","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-15T05:08:34.678087Z","publishedAt":"2026-05-15T05:08:34.678087Z","updatedAt":"2026-05-15T05:08:34.678087Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrisbusbin-pixel/propfirmdealfinder","description":"Query live prop firm discount codes, compare firms, and find cheapest funded trading challenges.","title":"Prop Firm Deal Finder","repository":{"url":"https://github.com/chrisbusbin-pixel/propfirmdealfinder-mcp-server","source":"github"},"version":"1.0.4","websiteUrl":"https://propfirmdealfinder.com","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"propfirmdealfinder-mcp-server","version":"1.0.4","runtimeHint":"npx","transport":{"type":"stdio"}}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-04-05T20:34:13.005502Z","publishedAt":"2026-04-05T20:34:13.005502Z","updatedAt":"2026-04-05T20:34:13.005502Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/alltrails-mcp","description":"Unofficial AllTrails MCP for Claude — search trails, get details, reviews, photos, saved lists","repository":{"url":"https://github.com/chrischall/alltrails-mcp","source":"github"},"version":"0.2.0","packages":[{"registryType":"npm","identifier":"alltrails-mcp","version":"0.2.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"A Cookie header from a signed-in alltrails.com browser session (must include the datadome cookie). Optional — if omitted, the server falls back to the fetchproxy browser extension (requires being signed in to alltrails.com).","format":"string","isSecret":true,"name":"ALLTRAILS_COOKIE"},{"description":"Optional numeric AllTrails user id for the per-user tools (saved lists, completed trails, feed). If omitted, those tools resolve the signed-in user via /api/alltrails/me.","format":"string","name":"ALLTRAILS_USER_ID"},{"description":"Optional override for the embedded x-at-key app key, in case AllTrails rotates it. Normally unnecessary.","format":"string","name":"ALLTRAILS_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-02T19:36:06.903685Z","publishedAt":"2026-07-02T19:36:06.903685Z","updatedAt":"2026-07-02T19:36:06.903685Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/alltrails-mcp","description":"Unofficial AllTrails MCP for Claude — search trails, get details, reviews, photos, saved lists","repository":{"url":"https://github.com/chrischall/alltrails-mcp","source":"github"},"version":"0.3.0","packages":[{"registryType":"npm","identifier":"alltrails-mcp","version":"0.3.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"A Cookie header from a signed-in alltrails.com browser session (must include the datadome cookie). Optional — if omitted, the server falls back to the fetchproxy browser extension (requires being signed in to alltrails.com).","format":"string","isSecret":true,"name":"ALLTRAILS_COOKIE"},{"description":"Optional numeric AllTrails user id for the per-user tools (saved lists, completed trails, feed). If omitted, those tools resolve the signed-in user via /api/alltrails/me.","format":"string","name":"ALLTRAILS_USER_ID"},{"description":"Optional override for the embedded x-at-key app key, in case AllTrails rotates it. Normally unnecessary.","format":"string","name":"ALLTRAILS_API_KEY"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-02T21:43:21.59288Z","publishedAt":"2026-07-02T21:43:21.59288Z","updatedAt":"2026-07-02T21:43:21.59288Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/alltrails-mcp","description":"Unofficial AllTrails MCP for Claude — search trails, get details, reviews, photos, saved lists","repository":{"url":"https://github.com/chrischall/alltrails-mcp","source":"github"},"version":"1.0.0","packages":[{"registryType":"npm","identifier":"alltrails-mcp","version":"1.0.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional numeric AllTrails user id for the per-user tools (saved lists, completed trails, feed). If omitted, those tools resolve the signed-in user via /api/alltrails/me.","format":"string","name":"ALLTRAILS_USER_ID"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-03T02:30:45.424114Z","publishedAt":"2026-07-03T02:30:45.424114Z","updatedAt":"2026-07-03T02:30:45.424114Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/alltrails-mcp","description":"Unofficial AllTrails MCP for Claude — search trails, get details, reviews, photos, saved lists","repository":{"url":"https://github.com/chrischall/alltrails-mcp","source":"github"},"version":"1.1.0","packages":[{"registryType":"npm","identifier":"alltrails-mcp","version":"1.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional numeric AllTrails user id for the per-user tools (saved lists, completed trails, feed). If omitted, those tools resolve the signed-in user via /api/alltrails/me.","format":"string","name":"ALLTRAILS_USER_ID"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-07T15:09:21.150893Z","publishedAt":"2026-07-07T15:09:21.150893Z","updatedAt":"2026-07-07T15:09:21.150893Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/alltrails-mcp","description":"Unofficial AllTrails MCP for Claude — search trails, get details, reviews, photos, saved lists","repository":{"url":"https://github.com/chrischall/alltrails-mcp","source":"github"},"version":"2.0.0","packages":[{"registryType":"npm","identifier":"alltrails-mcp","version":"2.0.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional numeric AllTrails user id for the per-user tools (saved lists, completed trails, feed). If omitted, those tools resolve the signed-in user via /api/alltrails/me.","format":"string","name":"ALLTRAILS_USER_ID"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-08T13:39:34.071986Z","publishedAt":"2026-07-08T13:39:34.071986Z","updatedAt":"2026-07-08T13:39:34.071986Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/alltrails-mcp","description":"Unofficial AllTrails MCP for Claude — search trails, get details, reviews, photos, saved lists","repository":{"url":"https://github.com/chrischall/alltrails-mcp","source":"github"},"version":"2.1.0","packages":[{"registryType":"npm","identifier":"alltrails-mcp","version":"2.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional numeric AllTrails user id for the per-user tools (saved lists, completed trails, feed). If omitted, those tools resolve the signed-in user via /api/alltrails/me.","format":"string","name":"ALLTRAILS_USER_ID"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-13T16:56:11.458248Z","publishedAt":"2026-07-13T16:56:11.458248Z","updatedAt":"2026-07-13T16:56:11.458248Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/alltrails-mcp","description":"Unofficial AllTrails MCP for Claude — search trails, get details, reviews, photos, saved lists","repository":{"url":"https://github.com/chrischall/alltrails-mcp","source":"github"},"version":"2.1.1","packages":[{"registryType":"npm","identifier":"alltrails-mcp","version":"2.1.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional numeric AllTrails user id for the per-user tools (saved lists, completed trails, feed). If omitted, those tools resolve the signed-in user via /api/alltrails/me.","format":"string","name":"ALLTRAILS_USER_ID"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-27T02:56:28.17166Z","publishedAt":"2026-07-27T02:56:28.17166Z","updatedAt":"2026-07-27T02:56:28.17166Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/alltrails-mcp","description":"Unofficial AllTrails MCP for Claude — search trails, get details, reviews, photos, saved lists","repository":{"url":"https://github.com/chrischall/alltrails-mcp","source":"github"},"version":"2.1.2","packages":[{"registryType":"npm","identifier":"alltrails-mcp","version":"2.1.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional numeric AllTrails user id for the per-user tools (saved lists, completed trails, feed). If omitted, those tools resolve the signed-in user via /api/alltrails/me.","format":"string","name":"ALLTRAILS_USER_ID"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-30T12:53:26.999605Z","publishedAt":"2026-07-30T12:53:26.999605Z","updatedAt":"2026-07-30T12:53:26.999605Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/alltrails-mcp","description":"Unofficial AllTrails MCP for Claude — search trails, get details, reviews, photos, saved lists","repository":{"url":"https://github.com/chrischall/alltrails-mcp","source":"github"},"version":"2.1.3","packages":[{"registryType":"npm","identifier":"alltrails-mcp","version":"2.1.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Optional numeric AllTrails user id for the per-user tools (saved lists, completed trails, feed). If omitted, those tools resolve the signed-in user via /api/alltrails/me.","format":"string","name":"ALLTRAILS_USER_ID"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-06T00:42:22.35304Z","publishedAt":"2026-08-06T00:42:22.35304Z","updatedAt":"2026-08-06T00:42:22.35304Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/angi-mcp","description":"Angi for Claude — find home-service pros by trade and city, read ratings and reviews","repository":{"url":"https://github.com/chrischall/angi-mcp","source":"github"},"version":"0.1.0","packages":[{"registryType":"npm","identifier":"@chrischall/angi-mcp","version":"0.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Override the fetchproxy WebSocket port (default 37149).","format":"string","name":"ANGI_WS_PORT"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-10T23:10:49.300014Z","publishedAt":"2026-08-10T23:10:49.300014Z","updatedAt":"2026-08-10T23:10:49.300014Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/artsonia-mcp","description":"Parent/fan access to Artsonia student-art portfolios, comments, and fans (AI-built).","repository":{"url":"https://github.com/chrischall/artsonia-mcp","source":"github"},"version":"0.2.0","packages":[{"registryType":"npm","identifier":"artsonia-mcp","version":"0.2.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your Artsonia login email address","isRequired":true,"format":"string","name":"ARTSONIA_USERNAME"},{"description":"Your Artsonia account password","isRequired":true,"format":"string","isSecret":true,"name":"ARTSONIA_PASSWORD"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-05T17:50:21.114092Z","publishedAt":"2026-06-05T17:50:21.114092Z","updatedAt":"2026-06-05T17:50:21.114092Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/artsonia-mcp","description":"Parent/fan access to Artsonia student-art portfolios, comments, and fans (AI-built).","repository":{"url":"https://github.com/chrischall/artsonia-mcp","source":"github"},"version":"0.3.0","packages":[{"registryType":"npm","identifier":"artsonia-mcp","version":"0.3.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your Artsonia login email address","isRequired":true,"format":"string","name":"ARTSONIA_USERNAME"},{"description":"Your Artsonia account password","isRequired":true,"format":"string","isSecret":true,"name":"ARTSONIA_PASSWORD"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-05T19:50:49.921891Z","publishedAt":"2026-06-05T19:50:49.921891Z","updatedAt":"2026-06-05T19:50:49.921891Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/artsonia-mcp","description":"Parent/fan access to Artsonia student-art portfolios, comments, and fans (AI-built).","repository":{"url":"https://github.com/chrischall/artsonia-mcp","source":"github"},"version":"0.4.0","packages":[{"registryType":"npm","identifier":"artsonia-mcp","version":"0.4.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your Artsonia login email address","isRequired":true,"format":"string","name":"ARTSONIA_USERNAME"},{"description":"Your Artsonia account password","isRequired":true,"format":"string","isSecret":true,"name":"ARTSONIA_PASSWORD"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-05T20:59:39.407181Z","publishedAt":"2026-06-05T20:59:39.407181Z","updatedAt":"2026-06-05T20:59:39.407181Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/artsonia-mcp","description":"Parent/fan access to Artsonia student-art portfolios, comments, and fans (AI-built).","repository":{"url":"https://github.com/chrischall/artsonia-mcp","source":"github"},"version":"0.5.0","packages":[{"registryType":"npm","identifier":"artsonia-mcp","version":"0.5.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your Artsonia login email address","isRequired":true,"format":"string","name":"ARTSONIA_USERNAME"},{"description":"Your Artsonia account password","isRequired":true,"format":"string","isSecret":true,"name":"ARTSONIA_PASSWORD"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-10T02:10:01.987836Z","publishedAt":"2026-06-10T02:10:01.987836Z","updatedAt":"2026-06-10T02:10:01.987836Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/artsonia-mcp","description":"Parent/fan access to Artsonia student-art portfolios, comments, and fans (AI-built).","repository":{"url":"https://github.com/chrischall/artsonia-mcp","source":"github"},"version":"0.6.0","packages":[{"registryType":"npm","identifier":"artsonia-mcp","version":"0.6.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your Artsonia login email address","isRequired":true,"format":"string","name":"ARTSONIA_USERNAME"},{"description":"Your Artsonia account password","isRequired":true,"format":"string","isSecret":true,"name":"ARTSONIA_PASSWORD"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-13T01:11:41.247007Z","publishedAt":"2026-06-13T01:11:41.247007Z","updatedAt":"2026-06-13T01:11:41.247007Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/artsonia-mcp","description":"Parent/fan access to Artsonia student-art portfolios, comments, and fans (AI-built).","repository":{"url":"https://github.com/chrischall/artsonia-mcp","source":"github"},"version":"0.6.1","packages":[{"registryType":"npm","identifier":"artsonia-mcp","version":"0.6.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your Artsonia login email address","isRequired":true,"format":"string","name":"ARTSONIA_USERNAME"},{"description":"Your Artsonia account password","isRequired":true,"format":"string","isSecret":true,"name":"ARTSONIA_PASSWORD"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-05T22:38:27.800855Z","publishedAt":"2026-07-05T22:38:27.800855Z","updatedAt":"2026-07-05T22:38:27.800855Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/artsonia-mcp","description":"Parent/fan access to Artsonia student-art portfolios, comments, and fans (AI-built).","repository":{"url":"https://github.com/chrischall/artsonia-mcp","source":"github"},"version":"0.6.2","packages":[{"registryType":"npm","identifier":"artsonia-mcp","version":"0.6.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your Artsonia login email address","isRequired":true,"format":"string","name":"ARTSONIA_USERNAME"},{"description":"Your Artsonia account password","isRequired":true,"format":"string","isSecret":true,"name":"ARTSONIA_PASSWORD"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-07T15:09:46.881094Z","publishedAt":"2026-07-07T15:09:46.881094Z","updatedAt":"2026-07-07T15:09:46.881094Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/artsonia-mcp","description":"Parent/fan access to Artsonia student-art portfolios, comments, and fans (AI-built).","repository":{"url":"https://github.com/chrischall/artsonia-mcp","source":"github"},"version":"0.7.0","packages":[{"registryType":"npm","identifier":"artsonia-mcp","version":"0.7.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your Artsonia login email address","isRequired":true,"format":"string","name":"ARTSONIA_USERNAME"},{"description":"Your Artsonia account password","isRequired":true,"format":"string","isSecret":true,"name":"ARTSONIA_PASSWORD"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-13T16:50:11.783097Z","publishedAt":"2026-07-13T16:50:11.783097Z","updatedAt":"2026-07-13T16:50:11.783097Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/artsonia-mcp","description":"Parent/fan access to Artsonia student-art portfolios, comments, and fans (AI-built).","repository":{"url":"https://github.com/chrischall/artsonia-mcp","source":"github"},"version":"0.8.3","packages":[{"registryType":"npm","identifier":"artsonia-mcp","version":"0.8.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your Artsonia login email address","isRequired":true,"format":"string","name":"ARTSONIA_USERNAME"},{"description":"Your Artsonia account password","isRequired":true,"format":"string","isSecret":true,"name":"ARTSONIA_PASSWORD"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-07-30T12:52:57.225962Z","publishedAt":"2026-07-30T12:52:57.225962Z","updatedAt":"2026-07-30T12:52:57.225962Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/artsonia-mcp","description":"Parent/fan access to Artsonia student-art portfolios, comments, and fans (AI-built).","repository":{"url":"https://github.com/chrischall/artsonia-mcp","source":"github"},"version":"0.8.4","packages":[{"registryType":"npm","identifier":"artsonia-mcp","version":"0.8.4","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your Artsonia login email address","isRequired":true,"format":"string","name":"ARTSONIA_USERNAME"},{"description":"Your Artsonia account password","isRequired":true,"format":"string","isSecret":true,"name":"ARTSONIA_PASSWORD"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-06T00:42:16.335575Z","publishedAt":"2026-08-06T00:42:16.335575Z","updatedAt":"2026-08-06T00:42:16.335575Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/artsonia-mcp","description":"Parent/fan access to Artsonia student-art portfolios, comments, and fans (AI-built).","repository":{"url":"https://github.com/chrischall/artsonia-mcp","source":"github"},"version":"0.9.0","packages":[{"registryType":"npm","identifier":"artsonia-mcp","version":"0.9.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your Artsonia login email address","isRequired":true,"format":"string","name":"ARTSONIA_USERNAME"},{"description":"Your Artsonia account password","isRequired":true,"format":"string","isSecret":true,"name":"ARTSONIA_PASSWORD"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-08-09T21:02:54.233701Z","publishedAt":"2026-08-09T21:02:54.233701Z","updatedAt":"2026-08-09T21:02:54.233701Z","isLatest":true}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/canvas-parent-mcp","description":"Canvas LMS (Instructure) for Claude — courses, grades, assignments, planner, files","repository":{"url":"https://github.com/chrischall/canvas-parent-mcp","source":"github"},"version":"0.1.2","packages":[{"registryType":"npm","identifier":"canvas-parent-mcp","version":"0.1.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Canvas instance base URL, e.g. https://cms.instructure.com","isRequired":true,"format":"string","name":"CANVAS_BASE_URL"},{"description":"Canvas personal access token (set this OR all three OAuth vars)","format":"string","isSecret":true,"name":"CANVAS_TOKEN"},{"description":"Canvas OAuth client ID (required if not using CANVAS_TOKEN)","format":"string","name":"CANVAS_CLIENT_ID"},{"description":"Canvas OAuth client secret (required if not using CANVAS_TOKEN)","format":"string","isSecret":true,"name":"CANVAS_CLIENT_SECRET"},{"description":"Canvas OAuth refresh token (required if not using CANVAS_TOKEN)","format":"string","isSecret":true,"name":"CANVAS_REFRESH_TOKEN"},{"description":"Friendly name for the Canvas instance (defaults to the host portion of the base URL)","format":"string","name":"CANVAS_NAME"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-03T13:36:43.524952Z","publishedAt":"2026-05-03T13:36:43.524952Z","updatedAt":"2026-05-03T13:36:43.524952Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/canvas-parent-mcp","description":"Canvas LMS (Instructure) for Claude — courses, grades, assignments, planner, files","repository":{"url":"https://github.com/chrischall/canvas-parent-mcp","source":"github"},"version":"0.1.3","packages":[{"registryType":"npm","identifier":"canvas-parent-mcp","version":"0.1.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Canvas instance base URL, e.g. https://cms.instructure.com","isRequired":true,"format":"string","name":"CANVAS_BASE_URL"},{"description":"Canvas personal access token (set this OR all three OAuth vars)","format":"string","isSecret":true,"name":"CANVAS_TOKEN"},{"description":"Canvas OAuth client ID (required if not using CANVAS_TOKEN)","format":"string","name":"CANVAS_CLIENT_ID"},{"description":"Canvas OAuth client secret (required if not using CANVAS_TOKEN)","format":"string","isSecret":true,"name":"CANVAS_CLIENT_SECRET"},{"description":"Canvas OAuth refresh token (required if not using CANVAS_TOKEN)","format":"string","isSecret":true,"name":"CANVAS_REFRESH_TOKEN"},{"description":"Friendly name for the Canvas instance (defaults to the host portion of the base URL)","format":"string","name":"CANVAS_NAME"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-03T14:15:09.207562Z","publishedAt":"2026-05-03T14:15:09.207562Z","updatedAt":"2026-05-03T14:15:09.207562Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/canvas-parent-mcp","description":"Canvas LMS (Instructure) for Claude — courses, grades, assignments, planner, files","repository":{"url":"https://github.com/chrischall/canvas-parent-mcp","source":"github"},"version":"0.1.4","packages":[{"registryType":"npm","identifier":"canvas-parent-mcp","version":"0.1.4","transport":{"type":"stdio"},"environmentVariables":[{"description":"Canvas instance base URL, e.g. https://cms.instructure.com","isRequired":true,"format":"string","name":"CANVAS_BASE_URL"},{"description":"Canvas personal access token (pick ONE auth mode: this, USERNAME+PASSWORD, COOKIE, or OAuth triple)","format":"string","isSecret":true,"name":"CANVAS_TOKEN"},{"description":"Canvas login username/email — pair with CANVAS_PASSWORD for auto-login (no SSO/2FA)","format":"string","name":"CANVAS_USERNAME"},{"description":"Canvas password for auto-login — required iff CANVAS_USERNAME is set","format":"string","isSecret":true,"name":"CANVAS_PASSWORD"},{"description":"Pre-minted Canvas session cookie jar (from canvas-parent-mcp-login or qr-login CLI)","format":"string","isSecret":true,"name":"CANVAS_COOKIE"},{"description":"Canvas OAuth client ID (required if not using CANVAS_TOKEN)","format":"string","name":"CANVAS_CLIENT_ID"},{"description":"Canvas OAuth client secret (required if not using CANVAS_TOKEN)","format":"string","isSecret":true,"name":"CANVAS_CLIENT_SECRET"},{"description":"Canvas OAuth refresh token (required if not using CANVAS_TOKEN)","format":"string","isSecret":true,"name":"CANVAS_REFRESH_TOKEN"},{"description":"Friendly name for the Canvas instance (defaults to the host portion of the base URL)","format":"string","name":"CANVAS_NAME"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-03T14:41:48.828702Z","publishedAt":"2026-05-03T14:41:48.828702Z","updatedAt":"2026-05-03T14:41:48.828702Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.chrischall/canvas-parent-mcp","description":"Canvas LMS (Instructure) for Claude — courses, grades, assignments, planner, files","repository":{"url":"https://github.com/chrischall/canvas-parent-mcp","source":"github"},"version":"1.0.0","packages":[{"registryType":"npm","identifier":"canvas-parent-mcp","version":"1.0.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Canvas instance base URL, e.g. https://cms.instructure.com","isRequired":true,"format":"string","name":"CANVAS_BASE_URL"},{"description":"Canvas login username/email (recommended) — pair with CANVAS_PASSWORD for auto-login. No SSO/2FA.","format":"string","name":"CANVAS_USERNAME"},{"description":"Canvas password (recommended) — required iff CANVAS_USERNAME is set","format":"string","isSecret":true,"name":"CANVAS_PASSWORD"},{"description":"Canvas personal access token (advanced) — most schools have disabled token creation","format":"string","isSecret":true,"name":"CANVAS_TOKEN"},{"description":"Canvas OAuth client ID (advanced — for SSO accounts that can't use username/password)","format":"string","name":"CANVAS_CLIENT_ID"},{"description":"Canvas OAuth client secret (advanced)","format":"string","isSecret":true,"name":"CANVAS_CLIENT_SECRET"},{"description":"Canvas OAuth refresh token (advanced) — bootstrap via canvas-parent-mcp-qr-login","format":"string","isSecret":true,"name":"CANVAS_REFRESH_TOKEN"},{"description":"Friendly name for the Canvas instance (defaults to the host portion of the base URL)","format":"string","name":"CANVAS_NAME"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-03T20:55:14.124482Z","publishedAt":"2026-05-03T20:55:14.124482Z","updatedAt":"2026-05-03T20:55:14.124482Z","isLatest":false}}}],"metadata":{"nextCursor":"io.github.chrischall/canvas-parent-mcp:1.0.0","count":30}}
