MCP Tools Reference
Snipara exposes a small default MCP surface for everyday agent work and a larger, discoverable catalog for specialist workflows. Availability is filtered by the caller, plan, permissions, and connection surface.
snipara-mcp package exists for stdio compatibility, client development, and advanced testing.Key Takeaways
- 13 default tools — The lean
tools/listsurface returned to a normal hosted coding-agent session - Token budgeting — Control exactly how much context you receive
- Hybrid search — Keyword + semantic for best results
- Surface-aware access — Catalog membership does not by itself establish caller eligibility; verify the active surface, permissions, and current plan capacity
How It Works
MCP tools return Project Intelligence context, not LLM responses. Your client LLM uses this context to reason, decide, and execute in its normal tool.
Current Contract
A normal hosted session advertises 13 default tools. The deterministic catalog contains 134 public snipara_* names, and the distributed wire registry contains the same 134 public entries. Legacy rlm_* handler identifiers are internal compatibility details and are not loaded by MCP clients. These generated values describe different surfaces; none is a promise that every caller can invoke every tool. Use snipara_help({ list_all: true }) to inspect the catalog available to the current caller.
Default Tools
This table is generated from the same backend registry as tools/list. It lists the lean default conversation surface, not every specialist capability.
| Tool | Execution surface | Discovery |
|---|---|---|
| snipara_ask | inline | Returned by the default hosted tools/list response |
| snipara_context_query | inline | Returned by the default hosted tools/list response |
| snipara_end_of_task_commit | inline | Returned by the default hosted tools/list response |
| snipara_get_chunk | inline | Returned by the default hosted tools/list response |
| snipara_help | inline | Returned by the default hosted tools/list response |
| snipara_inbox_review_apply | inline | Returned by the default hosted tools/list response |
| snipara_inbox_review_plan | inline | Returned by the default hosted tools/list response |
| snipara_inbox_review_queue | inline | Returned by the default hosted tools/list response |
| snipara_read | inline | Returned by the default hosted tools/list response |
| snipara_recall | inline | Returned by the default hosted tools/list response |
| snipara_remember_if_novel | inline | Returned by the default hosted tools/list response |
| snipara_search | inline | Returned by the default hosted tools/list response |
| snipara_stats | inline | Returned by the default hosted tools/list response |
Specialist tools remain in the canonical catalog on inline, Companion, orchestrator, and API surfaces. Discover them with snipara_help({ list_all: true }), then verify the caller's surface, permissions, and current product capacity before use.
Primary Tool
snipara_context_query
The main context retrieval tool. Use it first for project documents, parsed business files, and current-truth source material. Returns the most relevant sections within your token budget.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | The question or topic to search for |
| max_tokens | number | No | Maximum tokens to return (default: 4000) |
| search_mode | string | No | Search mode: 'keyword', 'semantic', or 'hybrid' (default: 'hybrid') |
| include_metadata | boolean | No | Include file paths and line numbers (default: true) |
| include_answer_pack | boolean | No | Include source-grounded facts, caveats, source map, verification checklist, and code hints (default: true) |
Response Format
{
"answer_pack": {
"version": "source_answer_pack_v1",
"query_intent": "security",
"source_facts": [
{
"claim": "API keys are accepted through X-API-Key or Authorization: Bearer.",
"source": {
"title": "Authentication Flow",
"file": "docs/auth.md",
"lines": [45, 120],
"relevance_score": 0.94,
"quality_score": 0.88
}
}
],
"caveats": [],
"verification_checklist": ["Answer from source_facts first"]
},
"sections": [
{
"title": "Authentication Flow",
"content": "...",
"file": "docs/auth.md",
"lines": [45, 120],
"relevance_score": 0.94,
"token_count": 1200,
"quality_score": 0.88,
"quality_flags": []
}
],
"answer_pack_included": true,
"retrieval_diagnostics": {
"status": "warning",
"confidence": 0.78,
"section_count": 1,
"source_count": 1,
"weak_source_count": 0,
"avg_relevance": 0.94,
"top_relevance": 0.94,
"recommendations": ["Avoid broad claims from a single source; cite the limitation or retrieve more evidence."]
},
"total_tokens": 3800,
"suggestions": ["Also check: docs/security.md"]
}Example
// Query example
{
"query": "How does user authentication work?",
"max_tokens": 4000,
"search_mode": "hybrid"
}snipara_help
Discover the right MCP tool for your task. Get recommendations based on your query, detailed tool info, or browse tools by tier. Perfect for new users or when you're unsure which tool to use.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | No | Describe what you want to do (e.g., 'search across all team projects') |
| tool | string | No | Get detailed info about a specific tool (e.g., 'snipara_context_query') |
| tier | string | No | List tools by tier: PRIMARY, POWER_USER, TEAM, UTILITY, or ADVANCED |
| list_all | boolean | No | Return a deterministic catalog of all tools available to this caller |
| limit | number | No | Maximum recommendations to return (default: 5) |
Response Format
{
"recommendations": [
{
"tool": "snipara_multi_project_query",
"score": 92,
"tier": "TEAM",
"description": "Query across all team projects",
"use_cases": ["Cross-project search", "Find implementations"],
"example": "snipara_multi_project_query(query='authentication')"
}
],
"total_tools": 134,
"tip": "Use tier='PRIMARY' to see essential tools"
}Example
// Get tool recommendations
snipara_help({ query: "I want to search across all my team projects" })
// Get info about a specific tool
snipara_help({ tool: "snipara_context_query" })
// List all primary tools
snipara_help({ tier: "primary" })
// Deterministically list all tools available to this caller
snipara_help({ list_all: true })Recursive Context Tools
These tools enable near-infinite context by allowing your LLM to orchestrate multiple queries. Your client LLM decomposes complex questions, makes multiple calls, and synthesizes the results.
snipara_decompose
Break a complex query into sub-queries with an execution plan. Your LLM can then call snipara_multi_query to get context for each sub-query.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | The complex question to decompose |
| max_depth | integer | No | Maximum decomposition depth, from 1 to 5 (default: 2) |
| hints | string[] | No | Optional decomposition hints (maximum 10) |
Response Format
{
"original_query": "Explain the full authentication system",
"sub_queries": [
{ "id": 1, "query": "How does login flow work?", "priority": 1 },
{ "id": 2, "query": "How are sessions managed?", "priority": 2 }
],
"dependencies": [[1, 2]],
"suggested_sequence": [1, 2],
"total_estimated_tokens": 4000,
"strategy_used": "auto"
}snipara_multi_query
Execute multiple queries in a single call with per-query token budgets. Efficient for parallel context retrieval.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| queries | object[] | Yes | Array of { query, max_tokens? } objects (maximum 10) |
| max_tokens | integer | No | Shared batch token budget (default: 8000) |
Response Format
{
"results": [
{
"query": "How does login flow work?",
"sections": [...],
"tokens_used": 1800,
"allocated_tokens": 2000,
"section_count": 3,
"success": true
},
{
"query": "How are JWT tokens generated?",
"sections": [...],
"tokens_used": 1500,
"allocated_tokens": 2000,
"section_count": 2,
"success": true
}
],
"total_tokens": 3300,
"queries_executed": 2,
"queries_skipped": 0,
"search_mode": "hybrid"
}snipara_plan
Generate a full execution plan for complex questions, including query decomposition, dependencies, and optimal execution order.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | The complex question to plan for |
| strategy | enum | No | Execution strategy: "breadth_first", "depth_first", or "relevance_first" |
| max_tokens | number | No | Total token budget for the plan (default: 16000) |
Response Format
{
"plan_id": "plan_abc123",
"query": "implement rate limiting across API routes",
"steps": [
{
"step": 1,
"action": "decompose",
"params": { "query": "...", "max_depth": 2 },
"depends_on": [],
"expected_output": "sub_queries"
}
],
"estimated_total_tokens": 16000,
"strategy": "relevance_first",
"estimated_queries": 4
}snipara_multi_project_query
Query across granted projects in a team with a single call. Returns context from multiple projects ranked by relevance. Requires a service account key.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | The question to search for |
| max_tokens | number | No | Total token budget across all projects (default: 4000) |
| per_project_limit | number | No | Maximum sections per project (default: 3) |
| project_ids | string[] | No | Include only these project IDs/slugs |
| exclude_project_ids | string[] | No | Exclude these project IDs/slugs |
Response Format
{
"query": "How does authentication work?",
"projects_queried": 5,
"projects_skipped": 0,
"results": [
{
"project_slug": "api-service",
"sections": [...],
"tokens": 800
},
{
"project_slug": "web-app",
"sections": [...],
"tokens": 600
}
],
"total_tokens": 3200
}Supporting Tools
snipara_ask
Legacy query tool using keyword search. Use snipara_context_query instead for better results.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | The question to search for |
Response Format
{
"query": "release notes",
"sections": [{ "title": "Release notes", "file_path": "docs/releases.md", "lines": [1, 40] }],
"total_matches": 1,
"shown": 1,
"recommendation": "Use snipara_context_query for semantic search with better results"
}snipara_search
Search documentation using regex patterns. Useful for finding specific function names, configuration keys, or code patterns.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| pattern | string | No | Regex pattern to search for; use pattern or the query alias |
| query | string | No | Alias for pattern for clients that use a generic search input |
| max_results | number | No | Maximum results to return (default: 20) |
Response Format
{
"matches": [
{
"file": "docs/config.md",
"line": 45,
"content": "API_KEY=your-key-here",
"context": "..."
}
],
"total_matches": 15
}snipara_inject
Inject session context that persists across queries. Useful for setting task-specific focus areas.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| context | string | Yes | Context to inject (task description, focus areas) |
| append | boolean | No | Append to existing context instead of replacing (default: false) |
Response Format
{
"success": true,
"context": "Task: Fix authentication bug. Focus: auth.ts, middleware.ts"
}snipara_context
Show the current session context. Useful for checking what context is active.
Parameters
| Name | Type | Required | Description |
|---|
Response Format
{
"context": "Task: Fix authentication bug. Focus: auth.ts, middleware.ts",
"injected_at": "2024-01-15T10:30:00Z"
}snipara_clear_context
Clear the session context. Use when switching tasks.
Parameters
| Name | Type | Required | Description |
|---|
Response Format
{
"success": true,
"message": "Session context cleared"
}snipara_stats
Get statistics about the indexed documentation.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| include_files | boolean | No | Include a capped sample of indexed file paths (default: false) |
| max_files | number | No | Maximum file paths when include_files is true (default: 25, max: 200) |
| include_index_health | boolean | No | Include a compact index-health snapshot (default: false) |
Response Format
{
"total_documents": 42,
"total_sections": 156,
"total_tokens": 125000,
"last_updated": "2024-01-15T10:30:00Z"
}snipara_sections
List all documentation sections. Useful for understanding what topics are covered.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| limit | number | No | Maximum sections (default: 50, max: 500) |
| offset | number | No | Sections to skip for pagination (default: 0) |
| filter | string | No | Case-insensitive title-prefix filter |
Response Format
{
"sections": [
{ "id": "auth-overview", "title": "Authentication Overview", "file": "docs/auth.md" },
{ "id": "api-keys", "title": "API Keys", "file": "docs/auth.md" }
]
}snipara_read
Read specific line ranges from documentation. Useful after searching to get full context.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| file_path | string | No | Indexed document path; omit to use global index line numbers |
| start_line | number | No | Starting line number (default: 1) |
| end_line | number | No | Ending line number (defaults to start_line + 50) |
Response Format
{
"content": "Full content of lines 100-150...",
"file": "docs/auth.md",
"lines": [100, 150]
}snipara_settings
Get project settings from the Snipara dashboard. Returns configuration like auto-inject preferences, default search mode, etc.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| refresh | boolean | No | Force a refresh from the API (default: false) |
Response Format
{
"projectId": "abc123",
"name": "My Project",
"defaultSearchMode": "hybrid",
"autoInjectInstructions": true,
"maxTokensDefault": 4000
}Summary Storage Tools
Store and retrieve LLM-generated summaries for your documents. Your LLM generates summaries, we store them for faster future queries.
snipara_store_summary
Store an LLM-generated summary for a document. Later queries can use stored summaries for faster, more token-efficient responses.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| document_path | string | Yes | Path to the document (relative to project root) |
| summary | string | Yes | The summary text to store |
| summary_type | string | No | Type: 'concise', 'detailed', 'technical', 'keywords', or 'custom' |
| section_id | string | No | Optional section identifier for partial summaries |
| generated_by | string | No | Model that generated the summary (e.g., 'claude-3.5-sonnet') |
Response Format
{
"summary_id": "sum_abc123",
"document_path": "docs/auth.md",
"summary_type": "concise",
"token_count": 150,
"created": true,
"message": "Summary stored successfully"
}snipara_get_summaries
Retrieve stored summaries with optional filters. Use to check what summaries exist or to use them in context.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| document_path | string | No | Filter by document path |
| summary_type | string | No | Filter by summary type |
| include_content | boolean | No | Include summary content in response (default: true) |
Response Format
{
"summaries": [
{
"summary_id": "sum_abc123",
"document_path": "docs/auth.md",
"summary_type": "concise",
"token_count": 150,
"content": "Authentication uses JWT tokens...",
"created_at": "2024-01-15T10:30:00Z"
}
],
"total_count": 1,
"total_tokens": 150
}snipara_delete_summary
Delete stored summaries by ID, document path, or type.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| summary_id | string | No | Specific summary ID to delete |
| document_path | string | No | Delete all summaries for this document |
| summary_type | string | No | Delete summaries of this type |
Response Format
{
"deleted_count": 3,
"message": "Deleted 3 summaries"
}Shared Context Tools
Access team-wide coding standards, best practices, and prompt templates that are shared across projects. Perfect for maintaining consistency across your organization.
snipara_shared_context
Load merged source context from linked shared collections. Use it for standards, business playbooks, and reusable guidance, not for durable memory recall.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| max_tokens | number | No | Maximum tokens to return (default: 4000) |
| categories | string[] | No | Filter by categories: 'MANDATORY', 'BEST_PRACTICES', 'GUIDELINES', 'REFERENCE' |
| include_content | boolean | No | Include merged document content (default: true) |
Response Format
{
"documents": [
{
"id": "doc_123",
"title": "TypeScript Standards",
"category": "MANDATORY",
"token_count": 800,
"collection_name": "Team Coding Standards",
"source_type": "LINKED_COLLECTION"
}
],
"merged_content": "# TypeScript Standards\n...",
"total_tokens": 2400,
"collections_loaded": 2,
"linked_collections_loaded": 2,
"team_context_documents_loaded": 1,
"linked_collection_documents_loaded": 3
}snipara_list_templates
List available prompt templates from linked shared collections. Templates are reusable prompts for common tasks.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| category | string | No | Filter by template category |
Response Format
{
"templates": [
{
"id": "tpl_123",
"name": "Security Review",
"slug": "security-review",
"description": "Review code for security issues",
"category": "review",
"collection_name": "Team Templates"
}
],
"total_count": 5,
"categories": ["review", "refactoring", "testing"]
}snipara_get_template
Get a specific prompt template and optionally render it with variable substitution.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| template_id | string | No | Template ID |
| slug | string | No | Template slug (alternative to ID) |
| variables | object | No | Variable values to substitute in the template |
Response Format
{
"template": {
"id": "tpl_123",
"name": "Security Review",
"slug": "security-review",
"prompt": "Review the following code for {{focus_area}}:\n{{code}}",
"variables": ["focus_area", "code"]
},
"rendered_prompt": "Review the following code for SQL injection:\n...",
"missing_variables": []
}snipara_list_collections
List all shared context collections accessible to you. Returns collections you own, team collections you're a member of, and public collections. Use this to discover collection IDs for uploading documents.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| include_public | boolean | No | Include public collections in results (default: true) |
Response Format
{
"collections": [
{
"id": "col_abc123",
"name": "Team Coding Standards",
"slug": "team-coding-standards",
"description": "Shared coding guidelines for all projects",
"scope": "team",
"access_type": "team_member",
"_count": {
"documents": 12,
"templates": 5
}
},
{
"id": "col_def456",
"name": "Public TypeScript Guide",
"slug": "public-ts-guide",
"scope": "public",
"access_type": "public",
"_count": {
"documents": 8,
"templates": 0
}
}
],
"count": 2
}Example
// List all accessible collections
snipara_list_collections()
// Exclude public collections
snipara_list_collections({ include_public: false })snipara_upload_shared_document
Upload or update a document in a shared context collection. Use for team best practices, coding standards, and guidelines that should be available across projects.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| collection_id | string | Yes | The shared collection ID (get from snipara_list_collections) |
| title | string | Yes | Document title |
| content | string | Yes | Document content (markdown) |
| category | string | No | Category: 'MANDATORY', 'BEST_PRACTICES', 'GUIDELINES', or 'REFERENCE' (default: BEST_PRACTICES) |
| priority | number | No | Priority within category, 0-100 (default: 0, higher = more important) |
| tags | string[] | No | Tags for filtering and organization |
Response Format
{
"success": true,
"document_id": "doc_xyz789",
"collection_id": "col_abc123",
"title": "Error Handling Standards",
"category": "BEST_PRACTICES",
"action": "created"
}Example
// Upload a new coding standard
snipara_upload_shared_document({
collection_id: "col_abc123",
title: "Error Handling Standards",
content: "# Error Handling\n\nAlways use custom error classes...",
category: "BEST_PRACTICES",
priority: 50,
tags: ["errors", "typescript"]
})Document Sync Tools
Upload and synchronize text documents plus supported binary parser files directly from your LLM client. Binary files use base64:<payload> and enter the deterministic parser lane.
snipara_upload_document
Upload or update a single document. Supports DOC and BINARY parser documents.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| path | string | Yes | Document path (e.g., 'docs/getting-started.md') |
| content | string | Yes | Document content |
| kind | string | No | DOC or BINARY, inferred from path when omitted |
| format | string | No | md, markdown, mdx, txt, rst, adoc, pdf, docx, pptx, svg, vsdx, or xlsx |
| language | string | No | Optional language hint |
| metadata | object | No | Optional provenance and source metadata |
Response Format
{
"success": true,
"document_id": "doc_abc123",
"path": "docs/getting-started.md",
"action": "created",
"token_count": 1500
}snipara_sync_documents
Bulk sync multiple text and binary parser documents in a single call. Efficient for agent, connector, and integrator uploads.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| documents | array | Yes | Array of {path, content, kind?, format?, metadata?} objects |
| delete_missing | boolean | No | Delete documents not in the list (default: false) |
| confirm_delete_missing | boolean | No | Must be true when delete_missing is true |
Response Format
{
"success": true,
"created": 5,
"updated": 2,
"deleted": 0,
"total_documents": 7,
"total_tokens": 15000
}Snipara Orchestration Tools
Orchestration tools bridge Snipara's Project Intelligence workflow continuity with Snipara Sandbox execution environments. Load documents and projects into the Snipara REPL, orchestrate multi-step operations, and share context between MCP and Snipara Sandbox sessions.
snipara_load_document
Load one exact source document from your Snipara project by path. Use it when you already know the document you need and want direct source truth instead of ranked retrieval or memory recall.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| path | string | Yes | Path to the document in your Snipara project |
Response Format
{
"path": "docs/api.md",
"content": "# API Reference\n...",
"token_count": 3200
}snipara_load_project
Load a token-budgeted map of project documents. Use paths_filter to limit the returned files and include_content=false for metadata only.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| max_tokens | integer | No | Maximum tokens for returned document content (default: 16000) |
| paths_filter | string[] | No | Only include files whose paths start with one of these prefixes |
| include_content | boolean | No | Include document content (default: true) |
Response Format
{
"total_files": 15,
"returned_files": 8,
"total_tokens": 7500,
"max_tokens": 16000,
"documents": [{ "path": "docs/api.md", "token_count": 1200, "lines": 180 }]
}snipara_orchestrate
Run a three-round context exploration: section scan, ranked search, then raw loading of the highest-scoring documents.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | The question or topic to explore |
| max_tokens | integer | No | Token budget for raw file content (default: 16000) |
| top_k | integer | No | Number of ranked sections used for file selection (default: 5) |
| search_mode | enum | No | "keyword", "semantic", or "hybrid" (default: "hybrid") |
Response Format
{
"query": "Analyze authentication flow",
"timing": { "sections_scan_ms": 2, "ranked_search_ms": 18, "raw_load_ms": 3 },
"metrics": { "sections_scanned": 42, "files_loaded": 3, "tokens_used": 12400 },
"rounds": { "sections_scan": {...}, "ranked_search": {...}, "raw_load": {...} }
}snipara_repl_context
Package project documents as context_data plus optional Python helper code for injection into a Snipara Sandbox REPL session. This tool does not mutate REPL state itself.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | No | Optional query used to select relevant project context |
| max_tokens | integer | No | Token budget for file content (default: 8000) |
| include_helpers | boolean | No | Include Python exploration helpers (default: true) |
| search_mode | enum | No | "keyword", "semantic", or "hybrid" when query is provided |
Response Format
{
"context_data": { "files": {...}, "sections": [...], "loaded_files": 3 },
"setup_code": "# Python helper functions...",
"total_tokens": 2800,
"usage_hint": "Inject context_data, then execute setup_code"
}Snipara Agents Tools
Agent-oriented MCP tools cover persistent memory, multi-agent swarms, and distributed task coordination. These capabilities are included in the same hosted Project Intelligence platform plans shown on the pricing page.
Plan-Scoped Capabilities
Use the pricing page for the current Project Intelligence plans, included capacity, and hosted limits. The Agents Documentation explains how those packaged capabilities map to memory, coordination, and task tools.
Agent Memory
snipara_remember, snipara_recall, snipara_owner_profile_update, snipara_memory_verify, snipara_memory_invalidate, and more
Reviewed project continuity and explicit owner preferences with evidence links, lifecycle controls, and bounded session bootstrap.
Capacity varies by planMulti-Agent Swarms
snipara_swarm_create, snipara_claim, snipara_state_set, snipara_htask_create, and more
Build agent swarms with resource locking, shared state, and hierarchical tasks. Coordinate multiple agents working on complex tasks.
Capacity varies by planPractical Recipes
Here are common workflows combining multiple MCP tools for real-world tasks:
Recipe 1: Debug an Auth Flow
Find and understand authentication issues in your codebase.
// Step 1: Find auth-related code
snipara_search({ pattern: "authenticate|login|session|jwt" })
// Step 2: Get detailed context on the auth system
snipara_context_query({
query: "authentication flow and session management",
max_tokens: 6000,
search_mode: "hybrid"
})
// Step 3: Check team security standards
snipara_shared_context({ categories: ["MANDATORY", "BEST_PRACTICES"] })Recipe 2: Generate Feature with Repo Context
Break down a complex feature and get relevant context for each part.
// Step 1: Break down the task into subtasks
snipara_decompose({
query: "implement password reset with email verification",
max_depth: 2,
hints: ["email delivery", "token expiry"]
})
// Step 2: Get context for each subtask in parallel
snipara_multi_query({
queries: [
{ query: "email service configuration and templates", max_tokens: 1800 },
{ query: "password hashing and validation", max_tokens: 1800 },
{ query: "reset token generation and expiry", max_tokens: 1800 }
],
max_tokens: 6000
})
// Step 3: Check existing patterns
snipara_shared_context({ categories: ["BEST_PRACTICES"] })Recipe 3: Onboard a New Developer
Get a quick overview of a codebase for new team members.
// Step 1: Get project statistics
snipara_stats()
// Step 2: List all documentation sections
snipara_sections()
// Step 3: Get high-level summaries of key areas
snipara_get_summaries({
summary_type: "overview",
include_content: true
})
// Step 4: Check team coding standards
snipara_shared_context({
categories: ["MANDATORY", "BEST_PRACTICES", "GUIDELINES"]
})Usage and Capacity
Tool-call volume depends on the client, task, workflow policy, and retries; Snipara does not publish an assumed number of calls per coding task as a contract or benchmark. Check the authenticated dashboard for measured usage and the pricing page for current platform capacity. Tool discovery, execution surface, authorization, and plan capacity are separate checks.
Using with Snipara Sandbox
For complex multi-step tasks, use snipara-sandbox — a Python CLI that orchestrates LLM completions with sandboxed code execution and automatic Snipara context retrieval.
pip install snipara-sandbox[snipara]snipara-sandbox run --model claude-sonnet-4-20250514 "Refactor auth to use JWT"Snipara Sandbox automatically calls Snipara MCP tools (snipara_context_query, snipara_shared_context, etc.) to retrieve relevant documentation for each sub-task, then executes generated code in sandbox, docker, or trusted local environments.
| Feature | Direct MCP | Snipara Sandbox |
|---|---|---|
| Context Retrieval | Manual tool calls | Automatic per sub-task |
| Task Decomposition | LLM-driven | Built-in orchestration |
| Code Execution | Not available | Sandboxed REPL |
| Best For | Simple queries, chat | Complex refactoring, multi-file changes |
Error Handling
Failure shapes depend on the boundary. MCP tool execution can return a protocol-level tool error, while authentication, transport, and rate-limit failures can arrive as HTTP statuses with a detail message. Do not branch on an undocumented error-code string.
| Condition | Possible boundary | Recommended handling |
|---|---|---|
| Invalid input | JSON Schema validation or tool error | Correct required fields and parameter types; do not retry unchanged input |
| Authentication or permission failure | HTTP 401/403 or tool error | Refresh credentials and verify project or team access |
| Missing project or resource | HTTP 404 or tool error | Verify the endpoint slug and identifiers before retrying |
| Rate, quota, or capacity limit | HTTP 429 or structured tool error | Respect retry hints; back off for rate limits, and inspect capacity metadata |
| Internal or upstream failure | HTTP 5xx or tool error | Retry with bounded exponential backoff and preserve the returned message |
Preserve the returned status, protocol error, and message for diagnostics. A particular REST route or client adapter may add structured metadata, but that shape is not a universal MCP response contract.