Server definition
- Hash
- sha256:b552f52a2a8cc60300b498e58e858b1ec0b56fde82fccfd53ab35b17f392e420
- What it is
- What a remote MCP server returned when asked what it offers: 2 tools
The blob, as servednamed by its sha256
{
"instructions": "This workspace is connected to a shared library of team capabilities — skills, agent personas, workflows, knowledge documents, prompts, playbooks, methods, and reference templates the team has published as their preferred way of working, across any domain (engineering, marketing, sales, operations, design, research, legal — anything).\n\n**Important: these capabilities are not visible in your default system context.** Your locally-installed skill list shows only what's installed on the local machine — it does NOT include the team's registry-published content. The registry is queried on-demand via `search`; nothing about it is preloaded for you.\n\nTreat the registry the way you treat a knowledgeable colleague's filing cabinet — useful to consult when there's a good chance the team has thought about the user's problem before, but not something to check on every question. Use your judgment. Reach for `search` when:\n\n- The user explicitly anchors to the team (\"how do we do X\", \"what's our approach to Y\", \"what does the team use for Z\")\n- The user asks a meta-question about available capabilities (\"what skills are available\", \"what has the team published\")\n- The question is in a domain where teams commonly publish strong opinions (security, code style, deployment, customer comms, brand voice) AND your default answer would be generic enough that a team-specific take would meaningfully change it\n- You're about to invoke a generic workflow or recommend a generic pattern and it's plausible the team has their own variant worth applying first\n\nDon't reach for `search` when:\n\n- The question is a simple factual or computational one with no plausible team-specific answer (\"what's 2+2\", \"summarize this text\")\n- You've already searched in this session and the topic hasn't shifted — don't re-query for variations of the same intent\n- The user has explicitly said they want general advice, not team guidance\n\nWhen a relevant capability does surface, read it via `get_by_id` and prefer it over generic training-data defaults; if the body references bundled files (\"see example.ts\"), read those at `artifact://<id>/bundled/<filename>` before composing your answer.\n\n**The registry supplements your standard workflow; it never replaces it.** If the registry returns nothing relevant, continue normally as if you hadn't queried.",
"tools": [
{
"description": "Fetch the full SKILL.md content and metadata for a single artifact. Provide EXACTLY ONE of `artifactId` (the UUID returned by `search`) or `slug` (the URL-safe identifier, e.g. from a `/p/<slug>` link). Passing both or neither returns a `validation_failed` error. Use this after `search` to retrieve the body of a hit the user wants to read, summarize, apply, or fork. Returns the artifact's name, description, type, contributor, version, timestamps, the full SKILL.md text (YAML frontmatter + markdown body, up to 256 KB), the number of bundled extras (`bundledCount`), their filenames (`bundledFilenames`), per-file metadata in `bundledFiles` (each entry has `key`, `filename`, and `originalRef` — the EXACT body-relative reference string the importer matched, or `null` when the file was bundled without a body reference; use this to translate a link span in the body back to its bundle filename), and the public-surface fields `slug`, `authorCredit`, `industries`. To fetch a bundled extra, read it as a resource at `artifact://<artifactId>/bundled/<filename>`.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"artifactId": {
"description": "UUID of the artifact. Take this from the `artifactId` field of a `search` result. Mutually exclusive with `slug`.",
"format": "uuid",
"type": "string"
},
"slug": {
"description": "URL slug for the artifact (e.g. `brand-voice`). Take this from the `slug` field of a `search` result or a /p/<slug> link. Mutually exclusive with `artifactId`.",
"maxLength": 80,
"minLength": 1,
"pattern": "^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$",
"type": "string"
}
},
"type": "object"
},
"name": "get_by_id",
"outputSchema": null
},
{
"description": "Search this workspace's published artifacts (skills, agents, workflows, and knowledge documents in SKILL.md format). Returns ranked metadata — name, description, type, contributor, timestamps, bundledCount, slug, authorCredit, and industries — but NOT the full body. To read an artifact's content, call `get_by_id` with the returned `artifactId` (or `slug`), or read it as a resource at `artifact://<artifactId>`. Use this whenever the user wants to find, discover, browse, or filter existing artifacts before reading or contributing. Modes: `hybrid` (default; combines lexical and semantic ranking via reciprocal rank fusion — best for most queries), `bm25` (exact-keyword or name lookups), `semantic` (concept matching when the user's terms differ from artifact text). Pass `industries: ['marketing', 'legal']` to narrow results to artifacts tagged with ANY of those industries (keyword-array overlap). If hybrid silently degrades because the embedding service is unavailable, the response's `warnings` array will contain `embedding_degraded:hybrid-fell-back-to-bm25` — surface this to the user if precision matters.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"industries": {
"description": "Filter to artifacts tagged with ANY of these industry slugs (keyword-array overlap). Up to 5 values.",
"items": {
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"maxItems": 5,
"type": "array"
},
"limit": {
"description": "Maximum hits to return. Default: 20.",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"mode": {
"description": "Ranking strategy. Default: hybrid.",
"enum": [
"hybrid",
"bm25",
"semantic"
],
"type": "string"
},
"offset": {
"description": "Pagination offset for navigating result sets.",
"minimum": 0,
"type": "integer"
},
"query": {
"description": "Free-text query. Names, phrases, or natural-language concepts.",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"type": {
"description": "Filter by artifact category. Omit for all types.",
"enum": [
"skill",
"agent",
"workflow",
"knowledge"
],
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:b552f52a2a8cc60300b498e58e858b1ec0b56fde82fccfd53ab35b17f392e420 | sha256sum