bland-cli 0.2.7 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function registerGuideCommand(program: Command): void;
3
+ //# sourceMappingURL=guide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guide.d.ts","sourceRoot":"","sources":["../../src/commands/guide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoC3D"}
@@ -0,0 +1,40 @@
1
+ import chalk from "chalk";
2
+ import { GUIDES, getGuide } from "../lib/guides.js";
3
+ import { handleError } from "../lib/errors.js";
4
+ export function registerGuideCommand(program) {
5
+ const guide = program
6
+ .command("guide")
7
+ .description("Guides for building with Bland AI — phone tone, pathways, tools, testing, variables")
8
+ .argument("[topic]", "Guide topic (omit to list all)")
9
+ .action(async (topic) => {
10
+ try {
11
+ if (!topic) {
12
+ // List all guides
13
+ console.log();
14
+ console.log(chalk.bold("Available guides"));
15
+ console.log(chalk.dim("─".repeat(40)));
16
+ console.log();
17
+ for (const g of GUIDES) {
18
+ console.log(` ${chalk.cyan(g.slug.padEnd(14))} ${g.summary}`);
19
+ }
20
+ console.log();
21
+ console.log(chalk.dim(" Usage: bland guide <topic>"));
22
+ console.log(chalk.dim(" Example: bland guide phone-tone"));
23
+ return;
24
+ }
25
+ const g = getGuide(topic);
26
+ if (!g) {
27
+ console.error(chalk.red(`Unknown guide: ${topic}`));
28
+ console.log(chalk.dim(` Available: ${GUIDES.map((g) => g.slug).join(", ")}`));
29
+ process.exit(1);
30
+ }
31
+ console.log();
32
+ console.log(g.content);
33
+ console.log();
34
+ }
35
+ catch (err) {
36
+ handleError(err);
37
+ }
38
+ });
39
+ }
40
+ //# sourceMappingURL=guide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guide.js","sourceRoot":"","sources":["../../src/commands/guide.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,MAAM,KAAK,GAAG,OAAO;SAClB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,qFAAqF,CAAC;SAClG,QAAQ,CAAC,SAAS,EAAE,gCAAgC,CAAC;SACrD,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACtB,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,kBAAkB;gBAClB,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjE,CAAC;gBACD,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YAED,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,CAAC,EAAE,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACvB,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
package/dist/index.js CHANGED
@@ -21,11 +21,12 @@ import { registerEvalCommand } from "./commands/eval.js";
21
21
  import { registerAudioCommand } from "./commands/audio.js";
22
22
  import { registerListenCommand } from "./commands/listen.js";
23
23
  import { registerMcpCommand } from "./commands/mcp.js";
24
+ import { registerGuideCommand } from "./commands/guide.js";
24
25
  const program = new Command();
25
26
  program
26
27
  .name("bland")
27
28
  .description("The official Bland AI command-line interface")
28
- .version("0.2.7");
29
+ .version("0.2.8");
29
30
  // Register all command groups
30
31
  registerAuthCommand(program);
31
32
  registerCallCommand(program);
@@ -48,5 +49,6 @@ registerEvalCommand(program);
48
49
  registerAudioCommand(program);
49
50
  registerListenCommand(program);
50
51
  registerMcpCommand(program);
52
+ registerGuideCommand(program);
51
53
  program.parse();
52
54
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,8CAA8C,CAAC;KAC3D,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,8BAA8B;AAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAClC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC5B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC5B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAE5B,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,8CAA8C,CAAC;KAC3D,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,8BAA8B;AAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAClC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC5B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC5B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC5B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAE9B,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Long-form guides for building with Bland AI.
3
+ * Used by `bland guide` CLI command and surfaced to LLMs via MCP.
4
+ */
5
+ export interface Guide {
6
+ slug: string;
7
+ title: string;
8
+ summary: string;
9
+ content: string;
10
+ }
11
+ export declare const GUIDES: Guide[];
12
+ /** Get all guide slugs */
13
+ export declare function getGuideSlugs(): string[];
14
+ /** Get a single guide by slug */
15
+ export declare function getGuide(slug: string): Guide | undefined;
16
+ /** Build a condensed version of all guides for MCP instructions */
17
+ export declare function buildMcpInstructions(): string;
18
+ //# sourceMappingURL=guides.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guides.d.ts","sourceRoot":"","sources":["../../src/lib/guides.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,EAyRzB,CAAC;AAEF,0BAA0B;AAC1B,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC;AAED,iCAAiC;AACjC,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAExD;AAED,mEAAmE;AACnE,wBAAgB,oBAAoB,IAAI,MAAM,CAyD7C"}
@@ -0,0 +1,354 @@
1
+ /**
2
+ * Long-form guides for building with Bland AI.
3
+ * Used by `bland guide` CLI command and surfaced to LLMs via MCP.
4
+ */
5
+ export const GUIDES = [
6
+ {
7
+ slug: "phone-tone",
8
+ title: "Writing phone-tone prompts",
9
+ summary: "How to write prompts that sound natural on a phone call, not like a chatbot.",
10
+ content: `# Writing phone-tone prompts
11
+
12
+ Everything in a node prompt is spoken aloud to the caller. Your goal: sound like a real person on the phone, not a chatbot.
13
+
14
+ ## Core principle
15
+ Play this game for every reply: "What is the most accurate response, and how can I reduce this to the fewest words without sounding rude?"
16
+
17
+ ## Rules
18
+
19
+ 1. **No recontextualizing.** Never say "just to confirm", "you said", "got it". Phone calls are fluid — when you reply like it's a chat input, you break that fluidity.
20
+
21
+ 2. **Use phone words.** "Gotcha" instead of "got it". "Yup and last?" instead of "And what is your last name?" The caller has context — don't repeat what they already know.
22
+
23
+ 3. **Back-channel freely.** "Mhmm", "uh huh", "right" — use these when the caller pauses or is still talking. It signals you're listening.
24
+
25
+ 4. **Empathy in stride.** If someone says "my dog is on fire", don't say "gotcha, and your first name?" Say "oh no, go take care of that — this isn't important." Acknowledge before collecting.
26
+
27
+ 5. **Topic transitions are natural breaks.** When you shift topics (e.g., from collecting info to asking why they called), you can be slightly more formal: "awesome thanks. And how can I help you today?" Within a topic, keep it tight.
28
+
29
+ 6. **Personality is fine, sparingly.** If someone cracks a joke, you can volley back. But don't let it interrupt the flow. The goal is speed.
30
+
31
+ 7. **Fewest words possible.** After collecting a first name: "Yup and last?" Not "Great, and could you also provide your last name?" Three words vs. ten.
32
+
33
+ ## Examples
34
+
35
+ BAD: "Thank you for providing that. Could you also tell me your last name?"
36
+ GOOD: "And last?"
37
+
38
+ BAD: "I understand you're calling about a broken pipe. Let me help you with that."
39
+ GOOD: "Oh man, yeah let's get that sorted."
40
+
41
+ BAD: "Just to confirm, you said your appointment is on Tuesday?"
42
+ GOOD: "Tuesday, perfect."
43
+
44
+ ## Applying to pathway nodes
45
+
46
+ - Greeting node: Keep it casual. "Hey there, thanks for calling [business]. What's going on?" Not "Hello and welcome to..."
47
+ - Collection nodes: One field at a time. After getting the answer, move immediately: "Cool. And email?"
48
+ - Confirmation nodes: Don't re-read everything. "Alright so Tuesday at 2 for Bella — sound right?"
49
+ - Goodbye nodes: Quick and warm. "You're all set! Take care." Not "Thank you for calling, we appreciate your business..."`,
50
+ },
51
+ {
52
+ slug: "pathways",
53
+ title: "Pathway architecture",
54
+ summary: "How pathways work: nodes, edges, global nodes, variables, and the execution model.",
55
+ content: `# Pathway architecture
56
+
57
+ A pathway is a directed graph that controls a phone conversation. The AI agent walks through nodes, using edges to decide where to go next.
58
+
59
+ ## Nodes
60
+
61
+ Each node has:
62
+ - **name**: Human-readable identifier (used in YAML, shows in UI)
63
+ - **type**: Usually "Default". Others: "Transfer Number", "Webhook", "End Call", "Knowledge Base"
64
+ - **prompt**: What the agent says/does at this node. Written in second person ("Ask the caller...")
65
+ - **edges**: Where to go next, with labels describing when to take that path
66
+
67
+ ## Edges
68
+
69
+ Edges connect nodes. Each edge has:
70
+ - **target**: The destination node name
71
+ - **label**: A natural-language description of when this edge fires (e.g., "Caller provides their name")
72
+
73
+ IMPORTANT: Labels are not boolean conditions. They're descriptions the LLM evaluates conversationally. Write them as "Caller wants X" not "if caller_intent == 'X'".
74
+
75
+ ## Global nodes
76
+
77
+ A node marked \`is_global: true\` is reachable from ANY node in the pathway. Use globals for:
78
+ - Edge cases that can happen anytime ("caller asks to speak to a manager")
79
+ - Guardrails ("caller asks about a topic we don't handle")
80
+ - Universal exits ("caller wants to end the call")
81
+
82
+ Global nodes need a \`global_label\` — when this label matches, the agent jumps to this node regardless of where it currently is.
83
+
84
+ ## Variables
85
+
86
+ Use \`extract_variables\` on a node to pull structured data from the conversation:
87
+ \`\`\`yaml
88
+ extract_variables:
89
+ - name: first_name
90
+ type: string
91
+ description: "Caller's first name"
92
+ \`\`\`
93
+
94
+ Variables persist across the conversation and can be referenced in prompts with \`{{variable_name}}\`.
95
+
96
+ ## Global prompt
97
+
98
+ The \`global.prompt\` applies to EVERY node. Use it for:
99
+ - Voice/tone instructions (phone-tone, personality)
100
+ - Business context ("You are an agent for Acme Plumbing")
101
+ - Universal rules ("Never discuss pricing over the phone")
102
+
103
+ ## Execution model
104
+
105
+ 1. Call starts at the node marked \`isStart: true\` (first node)
106
+ 2. Agent speaks based on the node's prompt
107
+ 3. Caller responds
108
+ 4. LLM evaluates edge labels + global node labels to decide next node
109
+ 5. Repeat until "End Call" node or call ends
110
+
111
+ ## Common patterns
112
+
113
+ **Linear flow**: greeting → collect info → confirm → goodbye
114
+ **Branching**: after a question, split into 2-3 paths based on answer
115
+ **Loop back**: "anything else?" node that returns to the main handler
116
+ **Global guard**: global node that catches off-topic requests and redirects`,
117
+ },
118
+ {
119
+ slug: "tools",
120
+ title: "Using tools in pathways",
121
+ summary: "How to attach webhook tools and custom tools to nodes for real-time data.",
122
+ content: `# Using tools in pathways
123
+
124
+ Tools let your agent fetch or push data mid-conversation — check availability, look up orders, book appointments.
125
+
126
+ ## When to use tools vs. nodes
127
+
128
+ - **Tool**: Happens invisibly during a node. Agent says "let me check on that", tool fires, result feeds back into the conversation. Use for lookups.
129
+ - **Webhook node**: A dedicated node that fires a webhook and routes based on the response. Use for actions with branching outcomes (booking succeeded vs. failed).
130
+
131
+ ## Webhook tools on a node
132
+
133
+ \`\`\`yaml
134
+ main:
135
+ type: Default
136
+ prompt: "Help the caller check their order status."
137
+ tools:
138
+ - name: check_order
139
+ description: "Look up order by order number"
140
+ type: webhook
141
+ speech: "Let me pull that up real quick"
142
+ url: "https://api.example.com/orders/{{order_number}}"
143
+ method: GET
144
+ behavior: feed_context
145
+ response_data:
146
+ - name: order_status
147
+ data: "$.status"
148
+ context: "The order status"
149
+ \`\`\`
150
+
151
+ ## Key fields
152
+
153
+ - **speech**: What the agent says BEFORE the tool fires (fills the silence)
154
+ - **behavior**:
155
+ - \`feed_context\`: Result goes into LLM context, conversation continues on same node
156
+ - \`feed_context_and_route\`: Result goes into context AND edges are re-evaluated (can trigger a jump)
157
+ - **response_data**: JSONPath mappings to extract fields from the webhook response into variables
158
+
159
+ ## Tips
160
+
161
+ - Always set \`speech\` — silence while a webhook runs feels broken
162
+ - Keep tool descriptions clear — the LLM uses them to decide when to call the tool
163
+ - Use \`response_data\` to extract specific fields rather than dumping the whole response
164
+ - Set timeouts for slow APIs (default is reasonable but adjust if needed)`,
165
+ },
166
+ {
167
+ slug: "testing",
168
+ title: "Testing pathways",
169
+ summary: "How to test pathways with chat, simulations, and node tests.",
170
+ content: `# Testing pathways
171
+
172
+ ## Quick test: pathway chat
173
+
174
+ Interactive back-and-forth — you play the caller:
175
+ \`\`\`
176
+ bland pathway chat <pathway_id>
177
+ bland pathway chat <pathway_id> --verbose # shows node transitions + variables
178
+ \`\`\`
179
+
180
+ Use --verbose to see which node you're on and what variables are being extracted.
181
+
182
+ ## Node tests
183
+
184
+ Test a single node in isolation with AI-generated caller variations:
185
+ \`\`\`
186
+ bland pathway node-test <pathway_id> <node_id>
187
+ bland pathway node-test <pathway_id> <node_id> --permutations 10
188
+ \`\`\`
189
+
190
+ This generates synthetic caller inputs and checks how the node responds. Great for stress-testing edge cases.
191
+
192
+ ## Simulations
193
+
194
+ Full end-to-end test with AI personas playing callers:
195
+ \`\`\`
196
+ bland pathway simulate run <pathway_id> --wait
197
+ bland pathway simulate run <pathway_id> --personas 3 --turns 20 --wait
198
+ \`\`\`
199
+
200
+ Each persona gets a scenario and plays through the whole pathway. Use --wait to see results inline.
201
+
202
+ If you hit "max turns reached":
203
+ - Increase turns: --turns 30
204
+ - Check that edges have descriptive labels (not boolean conditions)
205
+ - Verify the pathway works via chat first
206
+
207
+ ## Test cases file
208
+
209
+ For repeatable tests, create tests/test-cases.yaml:
210
+ \`\`\`yaml
211
+ pathway: "My Pathway"
212
+ tests:
213
+ - name: happy_path
214
+ scenario: "Caller wants to book an appointment for their dog"
215
+ expected_path: [greeting, collect_info, confirm, goodbye]
216
+ - name: edge_case
217
+ scenario: "Caller immediately asks to speak to a manager"
218
+ expected_path: [greeting, transfer_manager]
219
+ \`\`\`
220
+
221
+ Run with: \`bland pathway test\`
222
+
223
+ ## Workflow
224
+
225
+ 1. Build pathway → push (bland pathway push)
226
+ 2. Chat-test interactively (bland pathway chat <id> --verbose)
227
+ 3. Fix issues, push again
228
+ 4. Run simulations for coverage (bland pathway simulate run <id> --wait)
229
+ 5. Publish when satisfied (bland pathway push --publish)`,
230
+ },
231
+ {
232
+ slug: "variables",
233
+ title: "Extracting and using variables",
234
+ summary: "How to extract caller data (names, emails, etc.) and use it across nodes.",
235
+ content: `# Extracting and using variables
236
+
237
+ Variables let you collect structured data from natural conversation and use it later.
238
+
239
+ ## Defining extraction
240
+
241
+ On any node, add extract_variables:
242
+ \`\`\`yaml
243
+ collect_info:
244
+ type: Default
245
+ prompt: "Great, I just need a few details. What's your first name?"
246
+ extract_variables:
247
+ - name: first_name
248
+ type: string
249
+ description: "Caller's first name"
250
+ - name: last_name
251
+ type: string
252
+ description: "Caller's last name"
253
+ - name: phone
254
+ type: string
255
+ description: "Caller's callback number"
256
+ edges:
257
+ - target: reason_for_visit
258
+ label: "All contact info collected"
259
+ \`\`\`
260
+
261
+ ## Types
262
+
263
+ - \`string\`: Names, emails, free text
264
+ - \`integer\`: Numbers, counts, IDs
265
+ - \`boolean\`: Yes/no answers
266
+
267
+ ## Using variables in prompts
268
+
269
+ Reference with double curly braces:
270
+ \`\`\`yaml
271
+ confirm:
272
+ type: Default
273
+ prompt: "Alright, so I have {{first_name}} {{last_name}} coming in on {{date}}. Sound right?"
274
+ \`\`\`
275
+
276
+ Variables are available in ALL subsequent nodes once extracted.
277
+
278
+ ## Tips
279
+
280
+ - Extract on the node where the info is naturally given — don't add a separate "extraction" node
281
+ - Keep descriptions clear — the LLM uses them to know what to extract
282
+ - Use \`spelling_precision: true\` for names and emails where exact spelling matters
283
+ - Variables persist for the entire call — extract once, use everywhere
284
+ - You can reference variables in tool webhook URLs and bodies too: \`https://api.com/lookup/{{order_id}}\``,
285
+ },
286
+ ];
287
+ /** Get all guide slugs */
288
+ export function getGuideSlugs() {
289
+ return GUIDES.map((g) => g.slug);
290
+ }
291
+ /** Get a single guide by slug */
292
+ export function getGuide(slug) {
293
+ return GUIDES.find((g) => g.slug === slug);
294
+ }
295
+ /** Build a condensed version of all guides for MCP instructions */
296
+ export function buildMcpInstructions() {
297
+ return `You are connected to the Bland AI platform via MCP. Bland lets you build AI phone agents that make and receive calls.
298
+
299
+ ## Key concepts
300
+
301
+ - **Pathway**: A directed graph controlling a phone conversation. Nodes are conversation steps, edges are transitions.
302
+ - **Node**: A step in the conversation. Has a prompt (what the agent says/does), edges (where to go next), and optionally tools and variable extraction.
303
+ - **Edge**: Connects two nodes. Has a label (natural language description of when to transition — NOT a boolean condition).
304
+ - **Global node**: Reachable from any node. Use for edge cases, guardrails, and universal exits.
305
+ - **Global prompt**: Applies to every node. Use for voice/tone, business context, and universal rules.
306
+ - **Variables**: Extracted from conversation with {{curly_braces}}. Persist across the entire call.
307
+
308
+ ## Workflow
309
+
310
+ 1. Create a pathway: bland_pathway_create (name required, nodes/edges optional)
311
+ 2. Get pathway details: bland_pathway_get (returns nodes, edges, and metadata)
312
+ 3. Test interactively: bland_pathway_chat (create session with pathway_id, then send messages with chat_id)
313
+ 4. Make a real call: bland_call_send (phone_number required, add pathway_id to use a pathway)
314
+ 5. Check results: bland_call_get (returns transcript, variables, summary)
315
+
316
+ ## Writing good prompts
317
+
318
+ ${GUIDES[0].content.split("## Rules")[1]?.split("## Applying")[0]?.trim() || ""}
319
+
320
+ ## Creating pathways
321
+
322
+ When creating a pathway with nodes/edges, pass them as JSON strings. Node format:
323
+ - id: unique string
324
+ - type: "Default" | "Transfer Number" | "End Call" | "Webhook"
325
+ - data: { name, prompt, isStart?, isGlobal?, globalLabel?, extractVars?, tools? }
326
+ - position: { x, y } — layout position
327
+
328
+ Edge format:
329
+ - id: unique string
330
+ - source: source node id
331
+ - target: target node id
332
+ - label: natural language transition description
333
+
334
+ ## Testing a pathway
335
+
336
+ Use bland_pathway_chat to test conversationally:
337
+ 1. First call: provide pathway_id + message → get back chat_id
338
+ 2. Subsequent calls: provide chat_id + message → get back agent response
339
+ 3. Check assistant_responses array and current_node in the response
340
+
341
+ ## Common mistakes
342
+
343
+ - Using boolean conditions as edge labels ("if intent == booking") — use natural language ("Caller wants to book an appointment")
344
+ - Forgetting global nodes for edge cases — callers will go off-script
345
+ - Not setting a global prompt for tone — every node will sound different
346
+ - Putting too much in one node — split into focused steps
347
+ - Not testing with bland_pathway_chat before making real calls
348
+
349
+ ## Available guides
350
+
351
+ Run bland_guide_list to see all available guides, then bland_guide_get to read a specific one:
352
+ ${GUIDES.map((g) => `- ${g.slug}: ${g.summary}`).join("\n")}`;
353
+ }
354
+ //# sourceMappingURL=guides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guides.js","sourceRoot":"","sources":["../../src/lib/guides.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,CAAC,MAAM,MAAM,GAAY;IAC7B;QACE,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,4BAA4B;QACnC,OAAO,EAAE,8EAA8E;QACvF,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0HAuC6G;KACvH;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,oFAAoF;QAC7F,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EA6D+D;KACzE;IACD;QACE,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,yBAAyB;QAChC,OAAO,EAAE,2EAA2E;QACpF,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0EA0C6D;KACvE;IACD;QACE,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,kBAAkB;QACzB,OAAO,EAAE,8DAA8D;QACvE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yDA2D4C;KACtD;IACD;QACE,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,gCAAgC;QACvC,OAAO,EAAE,2EAA2E;QACpF,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2GAiD8F;KACxG;CACF,CAAC;AAEF,0BAA0B;AAC1B,MAAM,UAAU,aAAa;IAC3B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,oBAAoB;IAClC,OAAO;;;;;;;;;;;;;;;;;;;;;EAqBP,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkC7E,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC9D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pathway-file.d.ts","sourceRoot":"","sources":["../../src/lib/pathway-file.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAoC,MAAM,qBAAqB,CAAC;AACzF,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,WAAW,EAEZ,MAAM,iBAAiB,CAAC;AAWzB,uCAAuC;AACvC,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ1D;AAED,0CAA0C;AAC1C,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAiB7D;AAED,mCAAmC;AACnC,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,IAAI,CAoBN;AA0BD,wDAAwD;AACxD,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAoFvD;AAED,oDAAoD;AACpD,wBAAgB,SAAS,CACvB,IAAI,EAAE,WAAW,GAChB;IACD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;CAChC,CAkFA;AAED,oCAAoC;AACpC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAsC9D;AAED,uCAAuC;AACvC,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,CAYhF;AAED,UAAU,oBAAoB;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC9C,CAAC,CAAC;CACJ"}
1
+ {"version":3,"file":"pathway-file.d.ts","sourceRoot":"","sources":["../../src/lib/pathway-file.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAoC,MAAM,qBAAqB,CAAC;AACzF,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,WAAW,EAEZ,MAAM,iBAAiB,CAAC;AAWzB,uCAAuC;AACvC,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ1D;AAED,0CAA0C;AAC1C,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAiB7D;AAED,mCAAmC;AACnC,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,WAAW,GACnB,IAAI,CAoBN;AA0BD,wDAAwD;AACxD,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAoFvD;AAED,oDAAoD;AACpD,wBAAgB,SAAS,CACvB,IAAI,EAAE,WAAW,GAChB;IACD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;CAChC,CAkFA;AAED,oCAAoC;AACpC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CA+C9D;AAED,uCAAuC;AACvC,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,CAYhF;AAED,UAAU,oBAAoB;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC9C,CAAC,CAAC;CACJ"}
@@ -251,13 +251,22 @@ export function createStarterPathway(name) {
251
251
  description: `${name} pathway`,
252
252
  version: "draft",
253
253
  global: {
254
+ prompt: [
255
+ "Sound natural and midwestern. Everything you say is spoken aloud on a phone call.",
256
+ "Play this game silently for every reply: what is the most accurate response, then how can I reduce it to the fewest words without sounding rude?",
257
+ "Never recontextualize — no 'just to confirm', 'you said', 'got it'. Use 'gotcha', 'yup', 'cool'.",
258
+ "Back-channel freely: 'mhmm', 'uh huh', 'right' — when the caller pauses or is still talking.",
259
+ "Acknowledge emotions in stride. If something is urgent, address it before collecting info.",
260
+ "Topic transitions are natural breaks — slightly more formal. Within a topic, keep it tight.",
261
+ "After collecting one field, move immediately: 'And last?' not 'Could you also provide your last name?'",
262
+ ].join("\n"),
254
263
  voice: "nat",
255
264
  model: "base",
256
265
  },
257
266
  nodes: {
258
267
  greeting: {
259
268
  type: "Default",
260
- prompt: "Greet the caller warmly and ask how you can help them today.",
269
+ prompt: "Hey there, thanks for calling. What's going on?",
261
270
  edges: [
262
271
  {
263
272
  target: "main",
@@ -267,7 +276,7 @@ export function createStarterPathway(name) {
267
276
  },
268
277
  main: {
269
278
  type: "Default",
270
- prompt: "Help the caller with their request.",
279
+ prompt: "Help the caller with their request. Keep it conversational and concise.",
271
280
  edges: [
272
281
  {
273
282
  target: "goodbye",
@@ -277,7 +286,7 @@ export function createStarterPathway(name) {
277
286
  },
278
287
  goodbye: {
279
288
  type: "Default",
280
- prompt: "Thank the caller for their time and wish them a great day.",
289
+ prompt: "You're all set! Take care.",
281
290
  },
282
291
  },
283
292
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pathway-file.js","sourceRoot":"","sources":["../../src/lib/pathway-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pathway-file.js","sourceRoot":"","sources":["../../src/lib/pathway-file.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAgUA,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAwDf"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAmWA,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAwDf"}
@@ -1,26 +1,45 @@
1
1
  import { api } from "../lib/api.js";
2
2
  import { isAuthenticated } from "../lib/config.js";
3
+ import { GUIDES, getGuide, buildMcpInstructions } from "../lib/guides.js";
3
4
  const MCP_TOOLS = [
5
+ // ── Guides ──
6
+ {
7
+ name: "bland_guide_list",
8
+ description: "List all available Bland AI guides. READ THESE FIRST before building pathways or making calls. Covers phone-tone prompts, pathway architecture, tools, testing, and variables.",
9
+ inputSchema: { type: "object", properties: {} },
10
+ },
11
+ {
12
+ name: "bland_guide_get",
13
+ description: "Read a specific guide. Available guides: phone-tone (how to write natural phone prompts), pathways (node/edge architecture), tools (webhooks and custom tools on nodes), testing (chat, simulate, node tests), variables (extracting and using caller data).",
14
+ inputSchema: {
15
+ type: "object",
16
+ properties: {
17
+ slug: { type: "string", description: "Guide slug: phone-tone, pathways, tools, testing, or variables" },
18
+ },
19
+ required: ["slug"],
20
+ },
21
+ },
22
+ // ── Calls ──
4
23
  {
5
24
  name: "bland_call_send",
6
- description: "Make an outbound phone call via Bland AI",
25
+ description: "Make an outbound phone call. Requires phone_number. Use pathway_id to run a pathway, or task for a simple prompt-based call. Always test pathways with bland_pathway_chat first.",
7
26
  inputSchema: {
8
27
  type: "object",
9
28
  properties: {
10
- phone_number: { type: "string", description: "Phone number to call" },
11
- task: { type: "string", description: "Task/prompt for the agent" },
12
- pathway_id: { type: "string", description: "Pathway ID to use" },
13
- voice: { type: "string", description: "Voice to use" },
14
- first_sentence: { type: "string", description: "Opening sentence" },
15
- model: { type: "string", description: "Model: base or turbo" },
16
- from: { type: "string", description: "From phone number" },
29
+ phone_number: { type: "string", description: "Phone number to call (E.164 format preferred, e.g. +14155551234)" },
30
+ task: { type: "string", description: "Task/prompt for a simple call (don't use with pathway_id)" },
31
+ pathway_id: { type: "string", description: "Pathway ID for structured conversations (don't use with task)" },
32
+ voice: { type: "string", description: "Voice ID (use bland_voice_list to see options)" },
33
+ first_sentence: { type: "string", description: "Override the opening sentence" },
34
+ model: { type: "string", description: "Model: base (fast, cheap) or turbo (smarter)" },
35
+ from: { type: "string", description: "Caller ID number (must be a number you own — see bland_number_list)" },
17
36
  },
18
37
  required: ["phone_number"],
19
38
  },
20
39
  },
21
40
  {
22
41
  name: "bland_call_list",
23
- description: "List recent calls with optional filters",
42
+ description: "List recent calls. Returns call IDs, status, duration, and phone numbers. Use bland_call_get with a call_id to see the full transcript.",
24
43
  inputSchema: {
25
44
  type: "object",
26
45
  properties: {
@@ -32,23 +51,24 @@ const MCP_TOOLS = [
32
51
  },
33
52
  {
34
53
  name: "bland_call_get",
35
- description: "Get detailed call info including transcript",
54
+ description: "Get full call details: transcript, extracted variables, summary, recording URL, and status. Use this to review what happened on a call.",
36
55
  inputSchema: {
37
56
  type: "object",
38
57
  properties: {
39
- call_id: { type: "string", description: "Call ID" },
58
+ call_id: { type: "string", description: "Call ID (from bland_call_list or bland_call_send response)" },
40
59
  },
41
60
  required: ["call_id"],
42
61
  },
43
62
  },
63
+ // ── Pathways ──
44
64
  {
45
65
  name: "bland_pathway_list",
46
- description: "List all conversational pathways",
66
+ description: "List all pathways. Returns IDs, names, and published status. Use bland_pathway_get to see the full node/edge graph.",
47
67
  inputSchema: { type: "object", properties: {} },
48
68
  },
49
69
  {
50
70
  name: "bland_pathway_get",
51
- description: "Get pathway details including nodes and edges",
71
+ description: "Get a pathway's full graph: all nodes (with prompts, tools, variables), all edges (with labels), and metadata. Use this to understand or modify an existing pathway.",
52
72
  inputSchema: {
53
73
  type: "object",
54
74
  properties: {
@@ -59,53 +79,54 @@ const MCP_TOOLS = [
59
79
  },
60
80
  {
61
81
  name: "bland_pathway_create",
62
- description: "Create a new pathway with nodes and edges. Creates the pathway shell first, then pushes nodes/edges.",
82
+ description: "Create a new pathway. Pass name (required) and optionally nodes/edges as JSON strings. Creates the shell first, then pushes the graph. Read bland_guide_get('pathways') for the node/edge schema.",
63
83
  inputSchema: {
64
84
  type: "object",
65
85
  properties: {
66
86
  name: { type: "string", description: "Pathway name" },
67
- description: { type: "string", description: "Pathway description" },
68
- nodes: { type: "string", description: "Nodes array as JSON string" },
69
- edges: { type: "string", description: "Edges array as JSON string" },
87
+ description: { type: "string", description: "What this pathway does" },
88
+ nodes: { type: "string", description: "JSON string of nodes array. Each node: { id, type, data: { name, prompt, isStart?, isGlobal?, globalLabel? }, position: { x, y } }" },
89
+ edges: { type: "string", description: "JSON string of edges array. Each edge: { id, source, target, label }. Labels are natural language, NOT boolean conditions." },
70
90
  },
71
91
  required: ["name"],
72
92
  },
73
93
  },
74
94
  {
75
95
  name: "bland_pathway_chat",
76
- description: "Chat with a pathway to test it interactively. First call creates a session, subsequent calls send messages.",
96
+ description: "Test a pathway interactively. First call: provide pathway_id + message, get back chat_id. Subsequent calls: provide chat_id + message. Check assistant_responses in the response. This is the primary way to verify a pathway works before making real calls.",
77
97
  inputSchema: {
78
98
  type: "object",
79
99
  properties: {
80
- pathway_id: { type: "string", description: "Pathway ID (required for first message)" },
81
- chat_id: { type: "string", description: "Chat session ID (from first response)" },
82
- message: { type: "string", description: "Message to send" },
100
+ pathway_id: { type: "string", description: "Pathway ID (required on first message to create session)" },
101
+ chat_id: { type: "string", description: "Chat session ID (returned from first call — use for subsequent messages)" },
102
+ message: { type: "string", description: "What the caller says" },
83
103
  },
84
104
  required: ["message"],
85
105
  },
86
106
  },
87
107
  {
88
108
  name: "bland_pathway_node_test",
89
- description: "Test an individual pathway node with permutations",
109
+ description: "Stress-test a single node with AI-generated caller variations. Returns how the node responds to different inputs. Great for finding edge cases.",
90
110
  inputSchema: {
91
111
  type: "object",
92
112
  properties: {
93
113
  pathway_id: { type: "string", description: "Pathway ID" },
94
- node_id: { type: "string", description: "Node ID to test" },
95
- prompt: { type: "string", description: "Override node prompt" },
96
- permutations: { type: "string", description: "Number of variations (default: 5)" },
114
+ node_id: { type: "string", description: "Node ID to test (from bland_pathway_get)" },
115
+ prompt: { type: "string", description: "Override the node's prompt for this test" },
116
+ permutations: { type: "string", description: "Number of caller variations to generate (default: 5)" },
97
117
  },
98
118
  required: ["pathway_id", "node_id"],
99
119
  },
100
120
  },
121
+ // ── Resources ──
101
122
  {
102
123
  name: "bland_persona_list",
103
- description: "List all personas",
124
+ description: "List saved personas (reusable agent configurations with voice, prompt, and settings).",
104
125
  inputSchema: { type: "object", properties: {} },
105
126
  },
106
127
  {
107
128
  name: "bland_persona_get",
108
- description: "Get persona details",
129
+ description: "Get persona details including voice, prompt, and configuration.",
109
130
  inputSchema: {
110
131
  type: "object",
111
132
  properties: {
@@ -116,28 +137,28 @@ const MCP_TOOLS = [
116
137
  },
117
138
  {
118
139
  name: "bland_number_list",
119
- description: "List owned phone numbers",
140
+ description: "List phone numbers you own. These can be used as caller ID (from field) when making calls.",
120
141
  inputSchema: { type: "object", properties: {} },
121
142
  },
122
143
  {
123
144
  name: "bland_number_buy",
124
- description: "Purchase a phone number",
145
+ description: "Purchase a new phone number. Specify area_code for a local number.",
125
146
  inputSchema: {
126
147
  type: "object",
127
148
  properties: {
128
- area_code: { type: "string", description: "Preferred area code" },
149
+ area_code: { type: "string", description: "Preferred area code (e.g. 415, 212)" },
129
150
  country_code: { type: "string", description: "Country code (default: US)" },
130
151
  },
131
152
  },
132
153
  },
133
154
  {
134
155
  name: "bland_voice_list",
135
- description: "List available voices",
156
+ description: "List available voices for calls. Returns voice IDs and descriptions. Use a voice ID in bland_call_send or pathway global settings.",
136
157
  inputSchema: { type: "object", properties: {} },
137
158
  },
138
159
  {
139
160
  name: "bland_tool_test",
140
- description: "Test a custom tool with sample input",
161
+ description: "Test a custom tool (webhook) with sample input to verify it returns expected data.",
141
162
  inputSchema: {
142
163
  type: "object",
143
164
  properties: {
@@ -149,17 +170,17 @@ const MCP_TOOLS = [
149
170
  },
150
171
  {
151
172
  name: "bland_knowledge_list",
152
- description: "List knowledge bases",
173
+ description: "List knowledge bases. Knowledge bases can be attached to pathway nodes for RAG-powered responses.",
153
174
  inputSchema: { type: "object", properties: {} },
154
175
  },
155
176
  {
156
177
  name: "bland_audio_generate",
157
- description: "Generate TTS audio from text",
178
+ description: "Generate TTS audio from text. Useful for previewing how a prompt will sound.",
158
179
  inputSchema: {
159
180
  type: "object",
160
181
  properties: {
161
182
  text: { type: "string", description: "Text to speak" },
162
- voice: { type: "string", description: "Voice to use (default: nat)" },
183
+ voice: { type: "string", description: "Voice ID (default: nat)" },
163
184
  },
164
185
  required: ["text"],
165
186
  },
@@ -167,6 +188,16 @@ const MCP_TOOLS = [
167
188
  ];
168
189
  async function handleToolCall(name, args) {
169
190
  switch (name) {
191
+ // ── Guides ──
192
+ case "bland_guide_list":
193
+ return GUIDES.map((g) => ({ slug: g.slug, title: g.title, summary: g.summary }));
194
+ case "bland_guide_get": {
195
+ const guide = getGuide(args.slug);
196
+ if (!guide)
197
+ throw new Error(`Unknown guide: ${args.slug}. Available: ${GUIDES.map((g) => g.slug).join(", ")}`);
198
+ return { slug: guide.slug, title: guide.title, content: guide.content };
199
+ }
200
+ // ── Calls ──
170
201
  case "bland_call_send":
171
202
  return api.post("/v1/calls", args);
172
203
  case "bland_call_list":
@@ -312,8 +343,9 @@ function handleMessage(msg) {
312
343
  },
313
344
  serverInfo: {
314
345
  name: "bland-cli",
315
- version: "0.1.0",
346
+ version: "0.2.8",
316
347
  },
348
+ instructions: buildMcpInstructions(),
317
349
  },
318
350
  });
319
351
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bland-cli",
3
- "version": "0.2.7",
3
+ "version": "0.2.8",
4
4
  "description": "The official Bland AI command-line interface",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",