Search software packs on symbola.sh, read their decisions, and get steps to build them.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
How to build a pack: the steps a coding agent with a shell follows (install the symbola CLI, pull the pack, build each component and run its checks), and a one-line request the user can paste into Claude Code or another coding agent.
The pack id, owner/name, e.g. kausalflow/lightkone. A symbola.sh pack link works too.
The language or stack to build in, e.g. Python, Go, TypeScript.
How to build a pack: the steps a coding agent with a shell follows (install the symbola CLI, pull the pack, build each component and run its checks), and a one-line request the user can paste into Claude Code or another coding agent.
| Argument | Type | Description |
|---|---|---|
| pack* | string | The pack id, owner/name, e.g. kausalflow/lightkone. A symbola.sh pack link works too. |
| language | string | The language or stack to build in, e.g. Python, Go, TypeScript. |
{
"type": "object",
"required": [
"pack"
],
"properties": {
"pack": {
"type": "string",
"description": "The pack id, owner/name, e.g. kausalflow/lightkone. A symbola.sh pack link works too."
},
"language": {
"type": "string",
"description": "The language or stack to build in, e.g. Python, Go, TypeScript."
}
}
}Overview of one pack: what it builds, its version, how many decisions it holds, its components, its page and download link, and the files it holds.
| Argument | Type | Description |
|---|---|---|
| pack* | string | The pack id, owner/name, e.g. kausalflow/lightkone. A symbola.sh pack link works too. |
{
"type": "object",
"required": [
"pack"
],
"properties": {
"pack": {
"type": "string",
"description": "The pack id, owner/name, e.g. kausalflow/lightkone. A symbola.sh pack link works too."
}
}
}The decisions a pack makes: each one a rule a builder could get wrong, with its status (decided, default or open). Narrow them to one component or to decisions mentioning some words.
| Argument | Type | Description |
|---|---|---|
| pack* | string | The pack id, owner/name, e.g. kausalflow/lightkone. A symbola.sh pack link works too. |
| query | string | Only decisions whose id or text contains all of these words. |
| status | string | Only decisions with this status. |
| component | string | Only decisions checked in this component, e.g. search-query. |
{
"type": "object",
"required": [
"pack"
],
"properties": {
"pack": {
"type": "string",
"description": "The pack id, owner/name, e.g. kausalflow/lightkone. A symbola.sh pack link works too."
},
"query": {
"type": "string",
"description": "Only decisions whose id or text contains all of these words."
},
"status": {
"enum": [
"decided",
"default",
"open"
],
"type": "string",
"description": "Only decisions with this status."
},
"component": {
"type": "string",
"description": "Only decisions checked in this component, e.g. search-query."
}
}
}Read one file of a pack, e.g. PRODUCT.md (the whole product), AGENTS.md (how to build it), BRIEF.md, obligations.toml, an assumption, or a component's symbolon.toml or examples.jsonl. "pack.md" is the whole pack as one Markdown page.
| Argument | Type | Description |
|---|---|---|
| pack* | string | The pack id, owner/name, e.g. kausalflow/lightkone. A symbola.sh pack link works too. |
| path* | string | The file's path inside the pack, e.g. PRODUCT.md. |
{
"type": "object",
"required": [
"pack",
"path"
],
"properties": {
"pack": {
"type": "string",
"description": "The pack id, owner/name, e.g. kausalflow/lightkone. A symbola.sh pack link works too."
},
"path": {
"type": "string",
"description": "The file's path inside the pack, e.g. PRODUCT.md."
}
}
}Search the Symbola registry for packs: software a coding agent can build from its decisions. Matches words against each pack's name, summary, id and category. With no query, lists every pack.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Most packs to return (default 10). |
| query | string | Words to look for, e.g. "paper library" or "encrypted meetings". |
| category | string | Only packs in this category: research, finance, text, data, places, time, dev, productivity or other. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Most packs to return (default 10)."
},
"query": {
"type": "string",
"description": "Words to look for, e.g. \"paper library\" or \"encrypted meetings\"."
},
"category": {
"type": "string",
"description": "Only packs in this category: research, finance, text, data, places, time, dev, productivity or other."
}
}
}