docker-labs-ai-tools-for-devs

repository·main·Indexed 18 days ago

https://github.com/docker/labs-ai-tools-for-devs

An agentic AI workflow engine that utilizes Docker containers to provide sandboxed tools and Markdown files for defining complex, multi-model LLM workflows. It includes a variety of Dockerized functions for development tasks, such as git operations, file reading/writing, tree-sitter analysis, node intersection, and Clojure linting via clj-kondo. The repository also provides prompt-based tools for reviewing Pull Requests for user-facing changes.

Tokens
197.3K
Snippets
545
Records
983
Agent score
63%

What's inside docker-labs-ai-tools-for-devs

  1. Use the Azure MCP Server

    main
    The Azure MCP Server provides Model Context Protocol (MCP) tools that allow AI agents to interact with Azure services. It is distributed as an official Docker image, enabling agents to perform tasks like managing App Configuration, querying Cosmos DB, interacting with Azure AI Search, and managing Storage accounts via standardized tool calls.
  2. Use Firecrawl tools for web scraping and research

    main

    The Firecrawl MCP Server provides several tools to interact with the web.

    Core Web Scraping & Crawling

    • firecrawl_scrape: Scrape a single webpage. Supports markdown/HTML formats, custom actions (click/scroll), and content extraction.
    • firecrawl_crawl: Start an asynchronous crawl of multiple pages. Supports maxDepth, includePaths, and excludePaths.
    • firecrawl_map: Discover URLs from a starting point using sitemaps or HTML links.
    • firecrawl_check_crawl_status: Check the status of an ongoing crawl job using its id.

    AI-Powered Extraction & Research

    • firecrawl_deep_research: Conduct deep research on a query using web crawling, search, and AI analysis.
    • firecrawl_extract: Extract structured information from URLs using an LLM. You can provide a schema (JSON) and a prompt to guide extraction.
    • firecrawl_generate_llmstxt: Generate a standardized llms.txt file for a URL to provide context for LLMs.
    • firecrawl_search: Search the web and retrieve content. Returns SERP results by default or full page content if scrapeOptions are provided.
  3. Configure scoring and penalties

    main

    Manage how points are awarded and deducted for questions.

    Scoring Methods (subscoring)

    • PROPORTIONAL: (Default) Points awarded proportionally to correct answers.
    • LINEAR_SUBSTRACTED:N: Subtracts N points for each error.
    • CUSTOM: Uses specific values defined in the subpoints field.
    • NONE: All-or-nothing scoring.

    Penalty Configuration

    • penalty_points: Points deducted for completely incorrect answers (use positive values).
    • penalty_scoring:
      • DEFAULT: Standard application.
      • PER_ANSWER: Apply penalties for every incorrect choice.
      • PER_QUESTION: Apply penalty once per question.
    • solution_penalty: Deduction for viewing the step-by-step solution (e.g., ONCE:10%).
    • video_penalty: Deduction for using video assistance.
    # Example: Custom subscoring
    id=math_problem
    type=numerical
    points=4
    subscoring=CUSTOM
    subpoints=25 &&& 75
  4. System Prompt for ESLint Fix AI Assistant

    main

    This system prompt defines the persona and operational workflow for an AI assistant specialized in resolving lint violations. The assistant is instructed to be brief, use available tools to take action, and always provide a real code snippet that resolves the violation.

    Operational Workflow

    1. Run lint: Execute the linting command.
    2. Evaluate violations:
      • If there are fewer than 10 violations, parse the output using the complaints format.
      • If there are 10 or more violations, parse the output using the condensed format.
    3. Fix violations:
      • Condensed mode: For each file, use the {>fixing} pattern.
      • Complaints mode: Report the results as JSON.
  5. How the SQLite MCP Server works (Prompts, Tools, and Resources)

    main

    This server demonstrates the three core pillars of the Model Context Protocol (MCP):

    1. Prompts

    Prompts are interactive templates that structure the conversation. The mcp-demo prompt is a pre-written template that accepts a topic argument (e.g., "retail sales") and guides the LLM through creating tables, analyzing data, and generating insights.

    2. Tools

    Tools are executable functions that allow the LLM to perform actions. In this server, tools are executed within Docker containers (using images like vonwig/sqlite:latest) to perform SQL operations like read-query, write-query, and create-table safely.

    3. Resources

    Resources are data sources that provide context to the conversation. The memo://insights resource acts as a persistent, living document that accumulates findings throughout a session, allowing the LLM and the user to refer back to discovered business insights.

  6. SQL Query Validation Logic

    main

    When using the SQL prompt system, the agent acts as a SQL expert to validate SQLite queries before execution. The validation process specifically checks for the following common mistakes:

    • NULL handling: Using NOT IN with NULL values.
    • Set operations: Using UNION when UNION ALL is more appropriate.
    • Range logic: Using BETWEEN for exclusive ranges.
    • Type safety: Data type mismatches in predicates and incorrect casting to data types.
    • Syntax & Identifiers: Improperly quoting identifiers and using the incorrect number of arguments for functions.
    • Join logic: Using improper columns for joins.

    Behavioral Rules:

    • If mistakes are found: The agent must rewrite the query to be correct.
    • If no mistakes are found: The agent must reproduce the original query.
    • Post-validation: The agent is instructed to call the sql_db_query_tool to execute the query immediately after the check is complete.