@svatah/yam-tool
MCP tool server exposing stories as deterministic tools
- Source:
packages/tool· README:packages/tool/README.md - Install:
npm install @svatah/yam-tool - Version 0.1.0 · Apache-2.0
Exports
| Export | Kind | Signature | |
|---|---|---|---|
callTool | function | export async function callTool( | Call one tool. |
definitionOf | function | export function definitionOf(story: Story): ToolDefinition | One story's tool definition. |
descriptionOf | function | export function descriptionOf(story: Story): string | What the tool says it does. |
Exposed | interface | export interface Exposed | |
exposeList | function | export function exposeList(config: Config, flag: string | undefined): string[] | The story names --expose and the config between them ask for. |
Exposure | interface | export interface Exposure | |
exposureFor | function | export function exposureFor( | Resolve --expose "a,b" (or config.tool.expose) against the plan. |
inputSchemaOf | function | export function inputSchemaOf(story: Story): ToolSchema | The inputSchema for a story (LLD §13.3). |
JsonSchemaProperty | interface | export interface JsonSchemaProperty | |
Refused | interface | export interface Refused | |
requiresIdempotent | function | export function requiresIdempotent(config: Config): boolean | Whether tool.requireIdempotent applies (LLD §13.3). |
ToolDefinition | interface | export interface ToolDefinition | One story, as a tool an MCP client can see and call. |
toolNameOf | function | export function toolNameOf(story: string): string | A story name as an MCP tool name: lower case, underscores, nothing else. |
ToolResult | interface | export interface ToolResult | What a tool call returns to the agent (LLD §13.3). |
ToolSchema | interface | export interface ToolSchema | A JSON Schema for one story's inputs, as MCP's inputSchema. |
ToolServerOptions | interface | export interface ToolServerOptions | |
toolsFor | function | export function toolsFor(options: Pick<ToolServerOptions, "plan" | "config" | "expose">): | The tools a project exposes, and the reasons for the ones it does not. |