
THC Open Mindfulness MCP
com.theholisticcarev1.0.0更新于 Sep 29, 2026
Read-only mindfulness games, guided practices, research, glossary and PanchaVikas resources.
概览
只读访问 The Holistic Care 的公开正念内容:游戏、引导音频练习、研究摘要、术语表和 PanchaVikas 资源。
- 功能
- 将公开的正念内容 REST API 封装为七个只读工具。助手可以一次搜索所有资源类型,按类型和 slug 或 id 获取特定资源,按年龄、技能、受众或时长查找互动游戏,查找免费引导音频练习,搜索通俗语言的研究摘要,查询术语表条目,以及查找公开的 PanchaVikas 路径和可下载指南。另有五个静态信息类资源,介绍服务器本身、资源分类、使用说明、内容权利和 PanchaVikas 框架。
- 适用场景
- 当助手需要根据该发布者的公开正念资料库回答问题或推荐活动,而不是进行通用网络搜索时适用。适合需要游戏、引导练习或通俗研究摘要的健康、教育或研究助手场景。
- 运行要求
- 远程 Streamable HTTP 端点;客户端无需身份验证、API 密钥、OAuth、请求头或环境变量。服务器本身只读取可选的 THC_API_BASE_URL 变量,默认指向生产 REST API。需要能访问该端点的网络。
安装
在 SourceWeft 中
- 打开 控制台中的 THC Open Mindfulness MCP,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。
{
"mcpServers": {
"open-mindfulness": {
"type": "http",
"url": "https://mcp.theholisticcare.com/mcp"
}
}
}README
THC Open Mindfulness MCP
A public, read-only Model Context Protocol server for The Holistic Care's approved public mindfulness resources — interactive games, free guided audio practices, plain-language research summaries, a glossary, and the public PanchaVikas framework overview.
- Production endpoint:
https://mcp.theholisticcare.com/mcp(Streamable HTTP) - No authentication required. No API key, no OAuth, nothing to sign up for.
- Read-only. No tool in this server creates, modifies, or deletes anything.
- Backed entirely by a public REST API —
api.theholisticcare.com(docs, source). This server never connects to Sanity CMS, a database, or any payment system directly.
Table of contents
- Why this exists
- Architecture
- Tools
- Resources
- Using it from an MCP client
- Local development
- Testing with MCP Inspector
- Deployment
- Security
- Licensing
- Contributing / issues
Why this exists
The Holistic Care already publishes a public REST API of its mindfulness content. This server is a thin MCP wrapper around that API so any MCP-compatible client (Claude Desktop, Claude Code, custom agents, etc.) can discover and use that content through native tool calls instead of a bespoke HTTP integration — with the same content boundaries the REST API itself already enforces.
Architecture
- Runtime: Next.js (App Router) on Vercel, Node.js runtime (not Edge — the MCP SDK needs Node APIs).
- MCP SDK:
@modelcontextprotocol/serverv2 (createMcpHandler,McpServer), the modern high-level package.@modelcontextprotocol/sdkv1 is kept only as a dev dependency for lower-level type definitions and future in-process test clients. - Transport: Streamable HTTP, stateless. Every request builds a brand-new
McpServerinstance (src/server.ts) — there is no session store, so nothing about one caller's request can leak into another's. - Validation: Zod v4 schemas for every tool input (
src/schemas.ts), re-validated server-side regardless of what the SDK itself already checks. - Content boundary: enforced entirely by which endpoints this server calls on the upstream REST API (
src/lib/apiClient.ts,src/lib/constants.ts). The base URL is a compile-time constant; no tool argument can ever change what host this server talks to.
Tools
All seven tools are read-only, take no destructive action (readOnlyHint: true, destructiveHint: false in every tool's annotations), and return a small (default 6, max 20) list of normalized resources rather than a bulk dump.
Every list-returning tool shares the output shape { results: Resource[], count: number }; get_mindfulness_resource and lookup_mindfulness_term return { found: boolean, resource: Resource | null }. See each tool's own file under src/tools/ for its exact Zod input schema and a code comment explaining any filter it cannot apply with full fidelity (documented rather than silently ignored — see the note on /v1/search's narrower parameter set below).
A known, documented limitation: the upstream /v1/search endpoint accepts only q/limit/offset, while /v1/resources and the dedicated per-family endpoints accept richer filters (category, audience, skill, age_min/age_max) but no free-text query. Where a tool needs both free-text search AND a filter /v1/search doesn't support server-side, it over-fetches from /v1/search and applies the filter client-side (see src/lib/filters.ts) — this is called out explicitly in the affected tool's description text so an MCP client (and the person using it) knows the filter is real but applied after the fact, not a guarantee from the upstream API itself.
Resources
Five static, informational MCP resources — none of them call the upstream API, so they're always available even if api.theholisticcare.com is temporarily down:
There are no MCP prompts in this server, by design — the spec for this project explicitly avoided adding prompts just because the protocol supports them; nothing here needed one.
Using it from an MCP client
Any Streamable-HTTP-capable MCP client can connect directly to the production URL. For a claude_desktop_config.json-style remote MCP entry:
No headers, tokens, or environment variables are required on the client side.
Local development
The MCP endpoint is then available at http://localhost:3000/mcp, and a health check at http://localhost:3000/health.
No secrets are required for local development. The only environment variable this server reads is THC_API_BASE_URL (see .env.example), and it defaults to the production REST API if unset — set it only to point a local instance at a different API (e.g. a locally running copy of thc-open-mindfulness-api).
Testing with MCP Inspector
MCP Inspector is the reference tool for interactively exercising an MCP server's tools and resources.
Then connect it to either:
http://localhost:3000/mcp(a localnpm run devinstance), orhttps://mcp.theholisticcare.com/mcp(production)
using the "Streamable HTTP" transport option and no authentication. You should see all 7 tools and all 5 resources listed, and be able to call each one interactively.
Deployment
This project deploys to Vercel as a standard Next.js App Router app.
- Import the GitHub repo into a new Vercel project.
- No environment variables are required for a production deploy (
THC_API_BASE_URLdefaults tohttps://api.theholisticcare.com). - Point the custom domain
mcp.theholisticcare.comat the Vercel project (Vercel dashboard → Domains), and add the corresponding DNS record at the DNS provider fortheholisticcare.com. - After deploying, verify:
https://mcp.theholisticcare.com/healthreturns{"status":"ok",...}https://mcp.theholisticcare.com/mcpresponds correctly to an MCP Inspector session (see above)npm run smoke:productionpasses (scripts/smoke-production.mts— exercises the live endpoint end-to-end)
Security
See SECURITY.md for the full write-up. In short: no secrets, no writes, no direct Sanity/database access, SSRF-hardened outbound requests, Host/Origin header validation on the HTTP transport, and a stateless request model. Report a vulnerability to [email protected] rather than opening a public issue.
Licensing
See LICENSING.md for the full explanation. Short version: the code in this repository is MIT licensed; the mindfulness content it retrieves and returns (games, practices, research summaries, glossary entries, blog excerpts, PanchaVikas overviews) is Copyright © The Holistic Care, all rights reserved, unless a specific resource says otherwise — it is public to read and reference, not to redistribute wholesale. See also ATTRIBUTION.md for how to credit The Holistic Care when you build on top of this server.
Contributing / issues
This is a small, single-purpose server maintained alongside The Holistic Care's public API and website. Bug reports and pull requests are welcome via GitHub Issues. For anything security-related, see SECURITY.md instead of opening a public issue.
来源:README.md,提交 e9e6a73
工具
0版本历史
1- v1.0.0最新Sep 29, 2026