Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    pablosalvador10

    azure-functions

    pablosalvador10/azure-functions
    DevOps
    2
    1 installs

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Helps create, debug, and deploy Azure Functions using the Python v2 programming model...

    SKILL.md

    Azure Functions Development Skill

    Overview

    This skill helps you build Azure Functions using the Python v2 programming model with decorators.

    Key Patterns

    HTTP Trigger Function

    import azure.functions as func
    import json
    
    app = func.FunctionApp(http_auth_level=func.AuthLevel.FUNCTION)
    
    @app.function_name(name="my_function")
    @app.route(route="api/endpoint", methods=["GET", "POST"])
    def my_function(req: func.HttpRequest) -> func.HttpResponse:
        """HTTP trigger function with proper error handling."""
        try:
            # Parse request
            data = req.get_json() if req.method == "POST" else dict(req.params)
            
            # Your logic here
            result = {"status": "success", "data": data}
            
            return func.HttpResponse(
                body=json.dumps(result),
                status_code=200,
                mimetype="application/json"
            )
        except Exception as e:
            return func.HttpResponse(
                body=json.dumps({"error": str(e)}),
                status_code=500,
                mimetype="application/json"
            )
    

    MCP Tool Trigger

    @app.generic_trigger(
        arg_name="context",
        type="mcpToolTrigger",
        toolName="my_tool",
        description="What this tool does and when to use it",
        toolProperties='[{"propertyName": "input", "propertyType": "string", "description": "The input parameter"}]'
    )
    def my_tool(context) -> str:
        """MCP tool function."""
        content = json.loads(context)
        input_value = content["arguments"].get("input", "")
        return json.dumps({"result": input_value})
    

    Configuration Files

    host.json (Runtime Config)

    {
      "version": "2.0",
      "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.*, 5.0.0)"
      },
      "extensions": {
        "mcp": {
          "enabled": true
        }
      }
    }
    

    local.settings.json (Local Development)

    {
      "IsEncrypted": false,
      "Values": {
        "FUNCTIONS_WORKER_RUNTIME": "python",
        "AzureWebJobsStorage": "UseDevelopmentStorage=true",
        "AzureWebJobsFeatureFlags": "EnableWorkerIndexing"
      }
    }
    

    Local Development Commands

    # Start Azurite storage emulator (required)
    azurite --silent --location /tmp/azurite
    
    # Start the function app locally
    cd src/function_app_directory
    func start
    
    # Install Azure Functions Core Tools (macOS)
    brew tap azure/functions
    brew install azure-functions-core-tools@4
    

    Deployment with Azure Developer CLI

    # Initialize project from template
    azd init --template <template-name> -e <environment-name>
    
    # Deploy to Azure
    azd up
    
    # Get function keys
    az functionapp keys list --resource-group <rg> --name <app-name>
    

    Common Issues and Solutions

    Issue Solution
    AzureWebJobsStorage error Start Azurite: azurite --silent
    Functions not discovered Ensure host.json has correct extension bundle
    MCP tools not showing Check mcp.enabled: true in host.json extensions
    401 Unauthorized Include x-functions-key header for FUNCTION auth level

    Best Practices

    1. Always use type hints for better IDE support
    2. Log important operations with logging.info() and logging.error()
    3. Return JSON responses with appropriate status codes
    4. Use FUNCTION auth level for production (not ANONYMOUS)
    5. Test locally with func start before deploying
    Recommended Servers
    Codeinterpreter
    Codeinterpreter
    Microsoft Learn MCP
    Microsoft Learn MCP
    Vercel
    Vercel
    Repository
    pablosalvador10/northwestern-fy26-msai-foundry-agentic-ai
    Files