Vascue Public Knowledge Search
OfficialVascue 公共知识搜索(MCP 服务器)
一个模型上下文协议服务器,用于搜索 Vascue 的公开文档:医疗运营、面向诊所的 AI 前台、医疗服务提供方的保险理赔自动化、Cliniko 集成、安全、案例研究和定价。
它有两种等价形式:
托管版(始终最新):
https://www.vascue.io/mcp/search- 可流式 HTTP,无需认证。自包含版(本仓库):
python server.py- 对打包的公开页面快照(content/,每次发布时通过scripts/fetch_content.py刷新)进行本地 BM25 搜索。运行时无网络调用,因此也可离线使用,目录构建版发布运行的就是这个版本。端点:
https://www.vascue.io/mcp/search(可流式 HTTP,无需认证)服务器卡片: https://www.vascue.io/.well-known/mcp/server-card.json
注册表名称:
io.vascue/public-knowledge-search运营方: Vascue Limited(ISO 27001 认证)
仅限公开内容。 此服务器仅索引公开的产品和教育页面。切勿向其发送患者信息、理赔文件、诊所凭据或预约请求。基于代理的诊所预约是一个独立的研究试点项目,而非公开 API。
连接
任何支持可流式 HTTP 的 MCP 客户端都可以直接连接到该端点。
Claude Code
claude mcp add --transport http vascue-search https://www.vascue.io/mcp/searchCursor / Claude Desktop / 其他仅支持 stdio 的客户端(通过 mcp-remote)
{
"mcpServers": {
"vascue-search": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://www.vascue.io/mcp/search"]
}
}
}自包含本地服务器(stdio;打包快照,无网络)
pip install -r requirements.txt
python server.pyDocker(构建自包含服务器)
docker build -t vascue-public-knowledge-search .
docker run -i --rm vascue-public-knowledge-searchRelated MCP server: Cliniko MCP Server
工具
一个工具,无需认证,只读。
search
对 Vascue 公开页面进行混合(关键词 + 向量)搜索。返回匹配的摘录及其规范 https://www.vascue.io/... URL,以便答案可以引用来源。
输入 | 类型 | 说明 |
|
| 自然语言问题或关键词,例如"Vascue 如何处理保险理赔预授权"。 |
|
| 默认为 hybrid。 |
|
| 默认为 8。 |
|
| 默认为 0.35。 |
|
| 包含的相邻文本块数量。 |
查询重写和重排在服务端已禁用;服务器仅返回来源文本块,绝不生成答案,因此不会有任何内容在没有引用的情况下被呈现为 Vascue 的声明。速率限制:每个客户端每分钟 60 个请求。
调用示例:
{ "name": "search", "arguments": { "query": "Cliniko integration for AI front desk" } }该端点由 Cloudflare AI Search 实例支撑,基于 vascue.io 的已批准公开 Markdown 导出(https://www.vascue.io/.well-known/ai-search.json 处的服务描述符说明了哪些内容被索引、哪些没有)。
开发
docker build -t vascue-public-knowledge-search .
node scripts/smoke.mjs docker run -i --rm vascue-public-knowledge-search # initialize -> tools/list
node scripts/smoke.mjs npx -y mcp-remote https://www.vascue.io/mcp/search --transport http-onlyCI 在每次推送和每周都会运行相同的构建和冒烟测试,因此上面的徽章同时也可作为端点健康状态的指示器。
目录构建规范
从源码构建服务器的目录(例如 Glama)运行的是自包含版本。生成的构建镜像各不相同(由 uv 管理的 Python 无 pip,或 PEP 668 外部管理的系统 Python),因此请使用显式 venv:
构建步骤:
["uv venv /opt/venv && uv pip install --python /opt/venv/bin/python -r requirements.txt"]CMD:
["/opt/venv/bin/python", "server.py"]无需环境变量。
如果存在常规 pip,直接使用 pip install -r requirements.txt + ["python", "server.py"] 也可以。
pip install -r requirements.txt
SMOKE_CALL_QUERY="Cliniko integration" node scripts/smoke.mjs python server.py # local server
node scripts/smoke.mjs python bridge.py # stdio bridge to the hosted endpoint
python scripts/fetch_content.py # refresh the content/ snapshot其他机器可读接口
https://www.vascue.io/llms.txthttps://www.vascue.io/openapi.json(公开、只读内容 API)https://www.vascue.io/.well-known/agent-skills/index.json(代理技能;也位于 vascue-io/skills)
许可证
本仓库(README、manifest、Dockerfile)采用 MIT 许可证。端点提供的内容是 Vascue 的公开网站内容。
Available Tools
1 toolsearchSearch Vascue's public documentationARead-onlyIdempotentInspect
Keyword (BM25) search over a bundled snapshot of vascue.io's public pages: healthcare-operations guides, the AI front desk for clinics, provider-side insurance-claims automation, Cliniko and Nookal integration, security and compliance pages, case studies, pricing and blog posts.
Use it to answer questions about what Vascue offers, how its products work and what it has published. One topic per call; cite the returned page URL for every excerpt you use.
Returns {"chunks": [...]} ordered by relevance; each chunk has url (the canonical https://www.vascue.io/... page), title, score (0-1 relative to the best match) and text (a Markdown excerpt). An empty list means the snapshot does not mention the topic - say so rather than guessing. The index is a point-in-time copy of the public site; https://www.vascue.io/mcp/search is the always-current hosted twin.
Runs fully locally: read-only, idempotent, no network calls, no authentication. Public content only: never send patient information, claim documents, clinic credentials or booking requests. It cannot book appointments or look up clinic data.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | What to look for, as a natural-language question or keywords, e.g. "how does claims pre-authorisation work" or "Cliniko integration". 3-15 words works best; one topic per call. | |
| max_num_results | No | Maximum excerpts to return (default 8). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover read-only, idempotent, non-destructive. The description adds substantial context beyond those: it runs fully locally with no network calls and no authentication, it is a point-in-time snapshot with an always-current hosted twin, and it imposes a data-sensitivity contract ('never send patient information, claim documents, clinic credentials or booking requests'). This safety framing is exactly the kind of behavioral disclosure that annotations alone do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Though long, every sentence earns its place: purpose, content scope, usage constraints, return format, snapshot caveat, hosted twin, execution model, and safety contract are each distinct and non-redundant. The high-level purpose is front-loaded before the supporting detail, and the safety constraints are positioned last with a clear warning nature. There is zero filler or repetition of annotation content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with an output schema, the description is fully sufficient: it explains the relevance ordering and score semantics ('0-1 relative to the best match'), specifies the empty-list meaning, flags the snapshot-versus-live-site distinction, and defines the safety envelope. Even though an output schema exists, the description voluntarily clarifies return-value semantics, which removes any ambiguity about how to interpret results. Nothing an agent needs to call and use it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both `query` and `max_num_results` have detailed schema descriptions including the 3-15 word recommendation and default/maximum values. The description largely reinforces the schema's 'one topic per call' advice rather than adding new parameter-level meaning. It does clarify the return structure (chunks with url/title/score/text and relevance ordering), but that is output semantics more than parameter semantics, so the high-coverage baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — 'Keyword (BM25) search over a bundled snapshot of vascue.io's public pages' — and enumerates the exact content domains covered (guides, clinic products, integrations, security/compliance, case studies, pricing, blog). This is far beyond a tautology; an agent knows precisely what content the tool can reach and that it operates over a snapshot, not the live site. No siblings exist, so the specificity of the resource alone distinguishes it cleanly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is explicit: 'Use it to answer questions about what Vascue offers, how its products work and what it has published,' with operational constraints — 'One topic per call; cite the returned page URL for every excerpt you use.' It also states clear negative capabilities ('It cannot book appointments or look up clinic data') and behavior on empty results ('say so rather than guessing'). Since there are no sibling tools to route among, this fully satisfies the when/when-not guidance dimension.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
v0.1.0- First observed
search
TDQS
With only one tool, there is no risk of confusion between tools. The 'search' tool's purpose is unambiguous and clearly scoped to a specific domain (Vascue public knowledge).
The single tool is named 'search', which is a simple, clear verb that perfectly matches its function. There is no inconsistency to evaluate, and the name is intuitive.
The server provides exactly one tool, which is slightly below the typical 3-15 tool range. However, given the narrow purpose of 'Public Knowledge Search', a single search tool is well-scoped and earns its place, making the count appropriate.
The tool covers the entire domain of knowledge search for Vascue's public pages, including search, relevance ranking, and citation of sources. There are no obvious missing operations for its stated purpose; it is a complete, focused toolkit.
Maintenance
Related MCP Connectors
Hosted MCP server for Cliniko — patients, appointments, availability, and invoices for AI agents.
Search the SiteGPT documentation: setup, features, API reference, troubleshooting.
Search and fetch AgendaForge public documentation and marketing content. No authentication needed.
Docs Q&A: search 169 data and AI guides, fetch any page as markdown. Read-only, keyless.
Related MCP Servers
- AlicenseBqualityFmaintenanceA Model Context Protocol server providing AI assistants with access to healthcare data tools, including FDA drug information, PubMed research, health topics, clinical trials, and medical terminology lookup.778126MIT
- FlicenseNot gradedqualityDmaintenanceEnables integration with the Cliniko practice management system through MCP tools and resources. Supports patient management, appointment scheduling, and practice data access through natural language interactions.-
- FlicenseBqualityDmaintenanceProvides comprehensive integration with the Cliniko API for healthcare practice management, including patient, appointment, and invoice administration. It enables tools for complex clinical workflows and direct access to practice resources through the Model Context Protocol.271-
- FlicenseBqualityDmaintenanceProvides integration with the Cliniko API for healthcare practice management, enabling patient, appointment, invoice, and payment operations via natural language.27-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vascue-io/public-knowledge-search'
If you have feedback or need assistance with the MCP directory API, please join our Discord server