### Python MCP Server Project Setup Source: https://docs.enconvo.ai/advanced/mcp-advanced Installs the MCP library for Python. ```bash mkdir my-mcp-server cd my-mcp-server pip install mcp ``` -------------------------------- ### TypeScript MCP Server Project Setup Source: https://docs.enconvo.ai/advanced/mcp-advanced Installs necessary dependencies for creating an MCP server in TypeScript. ```bash mkdir my-mcp-server cd my-mcp-server npm init -y npm install @modelcontextprotocol/sdk npm install -D typescript @types/node ``` -------------------------------- ### Execute Python Virtual Environment and Install Package Source: https://docs.enconvo.ai/ai/code-runner This example demonstrates how an AI agent can instruct the Code Runner to create a Python virtual environment and install a package using pip. Ensure the Python interpreter and pip are available in the environment. ```shell python3 -m venv myenv source myenv/bin/activate && pip install pandas ``` -------------------------------- ### Install Skill from GitHub Repository Source: https://docs.enconvo.ai/configuration/skills Command to install a skill directly from a GitHub repository URL, supporting subdirectory paths. ```bash /skill-installer https://github.com/anthropics/skills/tree/main/skills/pptx ``` -------------------------------- ### Install Extension from GitHub Source: https://docs.enconvo.ai/extensions/overview Clone an extension repository from GitHub and install it into EnConvo by pointing to the local folder. ```bash # Clone extension repository git clone https://github.com/enconvo/extension-name # Install in EnConvo # Settings → Extensions → Install from folder ``` -------------------------------- ### Install Skill from EnConvo Skills Store Source: https://docs.enconvo.ai/configuration/skills Command to install a skill by its name from the EnConvo Skills Store. ```bash /skill-installer pdf ``` -------------------------------- ### Loop Example: Process URLs Source: https://docs.enconvo.ai/workflows/advanced-workflows An example demonstrating how to loop through a list of URLs, fetch content from each, and summarize the fetched content. ```text URL List → Loop Items (for each url) → Web Fetch ({{current_item}}) → Summarize ({{fetch_result}}) → Collect Summaries → Format Report ``` -------------------------------- ### Initialize New EnConvo Extension Source: https://docs.enconvo.ai/extensions/developing Use this command to create a new EnConvo extension project. Navigate into the created directory and install dependencies. ```bash npx create-enconvo-extension my-extension cd my-extension npm install ``` -------------------------------- ### Access Extensions via SmartBar Source: https://docs.enconvo.ai/extensions/overview Use a forward slash '/' prefix in the SmartBar to quickly invoke installed extensions with their commands. ```bash /translate Hello world to Spanish /code explain this function /image a sunset over mountains /summarize this article ``` -------------------------------- ### Example Image Generation Prompts Source: https://docs.enconvo.ai/ai/image-generation Use these prompts in SmartBar to generate various types of images. Simply type /image followed by your description. ```text /image A serene mountain lake at sunset with snow-capped peaks /image Minimalist logo for a tech startup, blue and white colors /image Cute cartoon cat sitting on a stack of books /image Professional headshot of a friendly robot in a business suit ``` -------------------------------- ### Install Ollama using Homebrew Source: https://docs.enconvo.ai/providers/ollama Use this command to install Ollama on macOS via Homebrew. ```bash brew install ollama ``` -------------------------------- ### Skill Directory Structure Example Source: https://docs.enconvo.ai/configuration/skills A typical skill directory includes a SKILL.md file for instructions and metadata, along with optional scripts, references, and assets. ```tree my-skill/ ├── SKILL.md # Required: instructions + metadata ├── scripts/ # Optional: executable code ├── references/ # Optional: documentation └── assets/ # Optional: templates, resources ``` -------------------------------- ### Provider Selection Example Source: https://docs.enconvo.ai/extensions/built-in-extensions Demonstrates how consumer extensions target specific provider extensions using a command key format. Configure default providers in extension settings or let AI agents choose automatically. ```plaintext chat_with_ai (consumer) → llm|open_ai (provider) tts (consumer) → tts_providers|openai_tts_provider (provider) translate (consumer) → translate_providers|deepl_translate_provider (provider) ``` -------------------------------- ### SmartBar Built-in Calculator Examples Source: https://docs.enconvo.ai/features/smartbar Type mathematical expressions directly into the SmartBar input to get instant results. Supports standard arithmetic, trigonometric functions, and more. Press Enter to copy the result. ```text 2+3*4 → 14 ``` ```text sqrt(144) → 12 ``` ```text sin(45) → 0.7071... ``` ```text 100/3 → 33.333... ``` -------------------------------- ### MCP Store Manifest Example Source: https://docs.enconvo.ai/advanced/mcp-advanced Define a manifest for publishing an MCP server to the store, including name, version, description, transport, command, and configuration options. ```json { "name": "my-awesome-server", "version": "1.0.0", "description": "Does awesome things with AI", "transport": "stdio", "command": "npx", "args": ["-y", "my-awesome-server"], "config": { "api_key": { "type": "password", "description": "Your API key for the awesome service", "required": true } } } ``` -------------------------------- ### Apple Mail Usage Examples Source: https://docs.enconvo.ai/integrations/apple-ecosystem These examples demonstrate how to interact with the Apple Mail integration using natural language commands. They cover actions like viewing emails, composing new messages, and archiving messages. ```text "Show me my unread emails" ``` ```text "Send an email to alice@example.com about the project deadline" ``` ```text "Archive all emails from notifications@github.com" ``` ```text "What did Bob say in his last email?" ``` -------------------------------- ### Manual Extension Installation Path Source: https://docs.enconvo.ai/features/browser-control Specifies the directory path for manually loading the Enconvo Companion extension. Ensure Enconvo is restarted if the folder does not exist. ```bash ~/.enconvo/chrome_extension/ ``` -------------------------------- ### Example Text-to-Video Prompt Source: https://docs.enconvo.ai/ai/video-generation Use this structure for creating effective text-to-video prompts. Ensure prompts are in English and include subject, action, setting, style, and camera movement. ```text A golden retriever running through a field of wildflowers at sunset, slow motion, cinematic lighting, warm tones ``` ```text A futuristic city skyline at night with flying cars and neon lights, drone shot sweeping across the buildings, cyberpunk aesthetic ``` ```text A cup of coffee being poured in slow motion, close-up shot, steam rising, soft morning light through a window ``` -------------------------------- ### Load and Get Command Configuration Source: https://docs.enconvo.ai/extensions/extension-api-reference Use CommandManageUtils to load a command's full configuration or get raw command info synchronously. ```typescript import { CommandManageUtils, ExtensionManageUtils, PreferenceManageUtils } from "@enconvo/api"; // Load a command's full configuration const config = await CommandManageUtils.loadCommandConfig({ commandKey: "gmail|send_email", useAsRunParams: true }); // Get raw command info (synchronous) const rawCmd = CommandManageUtils.getRawCommandInfo("llm|open_ai"); ``` -------------------------------- ### SKILL.md Frontmatter Example Source: https://docs.enconvo.ai/configuration/skills The SKILL.md file requires a frontmatter block with 'name' and 'description' fields to define the skill's identity and trigger conditions. ```markdown --- name: my-skill description: Explain exactly when this skill should and should not trigger. --- Step-by-step instructions for EnConvo to follow. ``` -------------------------------- ### Write a Simple Command Handler Source: https://docs.enconvo.ai/extensions/developing Implement the `Command` interface in `src/index.ts` to handle extension commands. This example shows a command that displays a toast notification and returns a greeting. ```typescript import { Command, showToast } from '@enconvo/api'; export default class HelloCommand implements Command { async run(input: string): Promise { showToast({ title: 'Hello!', message: input }); return `Hello, ${input || 'World'}!`; } } ``` -------------------------------- ### Run Extension in Development Mode Source: https://docs.enconvo.ai/extensions/developing Use 'npm run dev' to start your extension with hot reload enabled for a faster development cycle. ```bash npm run dev ``` -------------------------------- ### Agent Output Format Example Source: https://docs.enconvo.ai/ai/agents Specifies the desired output structure for an agent. This ensures consistent and usable results, especially for structured data. ```markdown # Output Format **Subject:** [suggested subject line] [email body] --- **Tone:** [formal/casual/neutral] **Word count:** [count] ``` -------------------------------- ### Agent Role Definition Example Source: https://docs.enconvo.ai/ai/agents Defines a specific role for an agent to ensure focused and expert responses. Use this to guide the agent's persona and expertise. ```markdown # Role Professional email writer for business communication. ``` -------------------------------- ### Example Questions for Recording Analysis Source: https://docs.enconvo.ai/features/meeting-recording Ask specific questions about meeting content to get precise answers. This feature leverages semantic search against transcriptions to retrieve relevant information. ```text What did we decide about the pricing strategy? Who is responsible for the design mockups? What was the timeline discussed for the product launch? Did anyone mention concerns about the budget? Summarize what Speaker 2 said about customer feedback What were the main disagreements in the meeting? ``` -------------------------------- ### Agent Invocation from SmartBar Source: https://docs.enconvo.ai/ai/agents Demonstrates how to invoke agents directly from the SmartBar using the '@' prefix followed by the agent's name and query. ```bash @deep-research What are the current trends in AI regulation? @code-reviewer Review this pull request for security issues @my-custom-bot Analyze the Q4 sales report ``` -------------------------------- ### Transcription Output Example Source: https://docs.enconvo.ai/features/meeting-recording This is an example of the structured transcription output, showing timestamps, speaker labels, and dialogue segments. ```plaintext [00:00:12] Speaker 1: Let's start with the Q3 review. Revenue is up 15% compared to last quarter. [00:00:28] Speaker 2: That's great. Can you break down the growth by product line? [00:00:35] Speaker 1: Sure. The cloud platform grew 22%, while consulting services grew 8%. [00:01:02] Speaker 3: What about customer retention rates? ``` -------------------------------- ### Pull a Local LLM Model with Ollama Source: https://docs.enconvo.ai/configuration/privacy-security Use this command to download and install a local language model for offline use with EnConvo. Ensure Ollama is installed first. ```bash ollama pull llama3.2 ``` -------------------------------- ### Create Custom MCP Server with Python Source: https://docs.enconvo.ai/features/mcp This Python snippet demonstrates how to create a custom MCP server, define a tool using a decorator, and run the server using stdio transport. ```python from mcp.server import Server from mcp.server.stdio import stdio_server server = Server("my-custom-server") @server.tool() async def get_weather(city: str) -> str: """Get current weather for a city.""" weather = await fetch_weather(city) return json.dumps(weather) async def main(): async with stdio_server() as (read, write): await server.run(read, write) ``` -------------------------------- ### Changelog Generator Skill Example Source: https://docs.enconvo.ai/configuration/skills This skill generates a changelog from git commits, categorizing them into features, fixes, and breaking changes. It includes a detailed output format example. ```markdown --- name: changelog-generator description: Generate a changelog from git commits. Use when the user asks to create a changelog, release notes, or commit summary. Do not use for general git operations. --- ## Instructions 1. Read the git log for the specified date range or number of commits. 2. Group commits by category: - **Features**: New functionality (commits starting with "feat:") - **Fixes**: Bug fixes (commits starting with "fix:") - **Breaking Changes**: Changes that break backward compatibility - **Other**: Everything else 3. For each commit, write a user-facing description (not the raw commit message). 4. Format as markdown with version header, date, and categorized bullet points. 5. Highlight breaking changes with a warning callout. ## Output Format ```markdown ## v1.2.0 (2024-01-15) ### Features * Added dark mode support for all pages * New export to PDF option in reports ### Fixes * Fixed login timeout on slow connections * Resolved duplicate notification issue ### Breaking Changes ⚠️ API endpoint `/v1/users` now requires authentication ``` ``` -------------------------------- ### NativeAPI.callCommand Source: https://docs.enconvo.ai/extensions/extension-api-reference Invoke any other extension command programmatically. This allows extensions to interact with and trigger functionalities of other installed extensions. ```APIDOC ## NativeAPI.callCommand ### Description Invoke any other extension command programmatically. ### Method Signature `NativeAPI.callCommand(commandId: string, payload?: any): Promise` ### Parameters #### Path Parameters - **commandId** (string) - Required - The unique identifier of the command to invoke. - **payload** (any) - Optional - The data to pass to the command. ### Request Example ```typescript import { NativeAPI } from "@enconvo/api"; // Call Gmail to send an email const result = await NativeAPI.callCommand("gmail|send_email", { to: "user@example.com", subject: "Hello", body: "Message content" }); ``` ``` -------------------------------- ### Full-Text Search Example Source: https://docs.enconvo.ai/advanced/knowledge-base-advanced Demonstrates how full-text search with fuzzy matching can be used for keyword-based retrieval in LanceDB. ```text Query "OAuth2 PKCE flow" → Full-text index lookup with fuzziness → Return matching chunks ``` -------------------------------- ### Basic Python MCP Server Implementation Source: https://docs.enconvo.ai/advanced/mcp-advanced Defines a simple MCP server with 'hello' and 'search_records' tools using the `mcp` library. ```python import json from mcp.server import Server from mcp.server.stdio import stdio_server server = Server("my-custom-server") @server.tool() async def hello(name: str) -> str: """Say hello to someone. Args: name: Person's name """ return f"Hello, {name}!" @server.tool() async def search_records( query: str, limit: int = 10, category: str = "all" ) -> str: """Search records in the database. Args: query: Search query limit: Max results to return category: Filter by category (all, active, archived) """ results = await perform_search(query, limit, category) return json.dumps(results, indent=2) async def main(): async with stdio_server() as (read, write): await server.run(read, write) if __name__ == "__main__": import asyncio asyncio.run(main()) ``` -------------------------------- ### Check Node.js Version Source: https://docs.enconvo.ai/getting-started/troubleshooting Verify your installed Node.js version. EnConvo requires Node.js 18 or higher. Update if necessary. ```bash node --version ``` ```bash brew install node ``` -------------------------------- ### Run React Project Build Source: https://docs.enconvo.ai/ai/code-runner Use this command to build a React project and check for errors. The agent will execute the build and report the status. ```shell npm run build ``` -------------------------------- ### Single File API Route Source: https://docs.enconvo.ai/extensions/extension-api-reference Files in `src/api/` are auto-discovered as API routes. This example shows a simple status endpoint. ```typescript // src/api/status.ts export default async function main(request: Request) { return Response.json({ status: "ok", uptime: process.uptime() }); } ``` -------------------------------- ### Referencing Documentation in Instructions Source: https://docs.enconvo.ai/configuration/skills Shows how to reference external documentation files within skill instructions using markdown. ```markdown Consult `references/api-docs.md` for the API schema before making requests. ``` -------------------------------- ### SKILL.md Frontmatter and Instructions Source: https://docs.enconvo.ai/configuration/skills Defines the skill's name, description, and provides step-by-step instructions for the AI. Use instruction-only skills unless deterministic behavior or external tooling is required. ```markdown --- name: my-skill description: Summarize selected text into bullet points. Use when the user asks for a summary or key takeaways. Do not use for translation or rewriting tasks. --- ## Instructions 1. Read the selected text from the user's input. 2. Identify the 3-5 most important points. 3. Return a bullet-point summary. 4. Keep each bullet under 20 words. ``` -------------------------------- ### Vector Similarity Search Example Source: https://docs.enconvo.ai/advanced/knowledge-base-advanced Illustrates the process of embedding a query and comparing it against stored vectors to find semantically similar chunks. ```text Query "How does authentication work?" → Embed query → [0.12, -0.45, 0.78, ...] → Compare against all chunk vectors → Return top-K most similar chunks ``` -------------------------------- ### environment Source: https://docs.enconvo.ai/extensions/extension-api-reference Access runtime context about the current command execution, including extension details, development status, and user interface settings. ```APIDOC ## environment ### Description The `environment` object exposes runtime context about the current command execution. ### Properties - **extensionName** (string): Current extension name. - **commandName** (string): Current command name. - **commandTitle** (string): Display title of the command. - **assetsPath** (string): Path to extension's assets/ directory. - **supportPath** (string): Per-extension support directory. - **rootSupportPath** (string): Root support directory. - **cachePath** (string): Cache directory. - **isDevelopment** (boolean): true if running in dev mode. - **appearance** (string): "light" | "dark". - **textSize** (string): "medium" | "large". - **chatConversationId** (string): Current conversation ID. - **chatSessionId** (string): Current session ID. - **enconvoVersion** (string): EnConvo app version. - **runType** (string): "command" | "api" | "flow". - **flowId** (string): Workflow ID (if running in a workflow). ### Usage Example ```typescript import { environment } from "@enconvo/api"; console.log(environment.extensionName); console.log(environment.isDevelopment); ``` ``` -------------------------------- ### Build and Test Extension Source: https://docs.enconvo.ai/extensions/developing Use `npm run build` to compile your extension and `npm run dev` for hot reloading during development. ```bash npm run build npm run dev # Hot reload during development ``` -------------------------------- ### Run Go Program Source: https://docs.enconvo.ai/ai/code-runner Compile and run a Go program using the 'go run' command. Ensure the Go source file is present in the working directory. ```shell go run main.go ``` -------------------------------- ### Custom Server Configuration Source: https://docs.enconvo.ai/advanced/mcp-advanced Define a custom server with a name, transport type, command, and arguments. ```json { "name": "my-custom-server", "transport": "stdio", "command": "python", "args": ["/path/to/my-mcp-server/server.py"] } ``` -------------------------------- ### Add a stdio MCP Server Source: https://docs.enconvo.ai/features/mcp Configure a local MCP server that runs as a Node.js process. Specify the command, arguments, and any necessary paths. ```json { "name": "filesystem", "transport": "stdio", "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/Documents"] } ``` -------------------------------- ### Read OpenClaw Gateway Token Source: https://docs.enconvo.ai/providers/openclaw Use this command to extract the Gateway token from the default OpenClaw configuration file. Ensure the `jq` utility is installed. ```bash jq -r '.gateway.auth.token' ~/.openclaw/openclaw.json ``` -------------------------------- ### Dynamic Configuration with Template Strings Source: https://docs.enconvo.ai/advanced/mcp-advanced Use template strings for dynamic values in command, arguments, and environment variables, referencing built-in variables like `__dirname` and `HOME`, and user-provided configurations. ```json { "command": "node", "args": ["${__dirname}/server.js"], "env": { "HOME": "${HOME}", "CUSTOM_SETTING": "${user_config.custom_setting}" } } ``` -------------------------------- ### Apple Shortcuts Integration Source: https://docs.enconvo.ai/integrations/apple-ecosystem Run any installed Apple Shortcut directly from EnConvo by using natural language commands. Supports text input and output. ```text "Run my 'Morning Routine' shortcut" ``` ```text "List all my shortcuts" ``` ```text "Execute the 'Resize Image' shortcut with the file on my desktop" ```