airbyte.mcp.prompts
MCP prompt definitions for the Airbyte Replication MCP server.
This module defines prompts that can be invoked by MCP clients to perform common workflows.
prompts module
MCP primitives registered by the prompts module of the airbyte-mcp server: 0 tool(s), 1 prompt(s), 0 resource(s).
Prompts (1)
test-my-tools
Test all available MCP tools to confirm they are working properly
Arguments
| Name | Required | Description |
|---|---|---|
scope |
no | Provide as a JSON string matching the following schema: {"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional free-form text to focus or constrain testing. This can be a single word, a sentence, or a paragraph describing the desired scope or constraints."} |
1# Copyright (c) 2024 Airbyte, Inc., all rights reserved. 2"""MCP prompt definitions for the Airbyte Replication MCP server. 3 4This module defines prompts that can be invoked by MCP clients to perform 5common workflows. 6 7.. include:: ../../docs/mcp-generated/prompts.md 8""" 9 10from __future__ import annotations 11 12from typing import TYPE_CHECKING, Annotated 13 14from fastmcp_extensions import mcp_prompt, register_mcp_prompts 15from pydantic import Field 16 17 18# No public Python API — MCP primitives are registered via decorators and 19# documented via the generated Markdown include above. Setting `__all__` to an 20# empty list tells pdoc (and other doc tools) not to surface the individual 21# tool / helper definitions as a redundant "API Documentation" list. 22__all__: list[str] = [] 23 24 25if TYPE_CHECKING: 26 from fastmcp import FastMCP 27 28 29TEST_MY_TOOLS_GUIDANCE = """ 30Test all available tools in this MCP server to confirm they are working properly. 31 32Guidelines: 33- Iterate through each tool systematically 34- Use read-only operations whenever possible 35- For tools that modify data, use test/safe modes or skip if no safe testing method exists 36- Avoid creating persistent side effects (e.g., don't create real resources, connections, or data) 37- Document which tools were tested and their status 38- Report any errors or issues encountered 39- Provide a summary of the test results at the end 40 41Focus on validating that tools: 421. Accept their required parameters correctly 432. Return expected output formats 443. Handle errors gracefully 454. Connect to required services (if applicable) 46 47Be efficient and practical in your testing approach. 48""".strip() 49 50 51@mcp_prompt( 52 name="test-my-tools", 53 description="Test all available MCP tools to confirm they are working properly", 54) 55def test_my_tools_prompt( 56 scope: Annotated[ 57 str | None, 58 Field( 59 description=( 60 "Optional free-form text to focus or constrain testing. " 61 "This can be a single word, a sentence, or a paragraph " 62 "describing the desired scope or constraints." 63 ), 64 ), 65 ] = None, 66) -> list[dict[str, str]]: 67 """Generate a prompt that instructs the agent to test available tools.""" 68 content = TEST_MY_TOOLS_GUIDANCE 69 70 if scope: 71 content = f"{content}\n\n---\n\nAdditional scope or constraints:\n{scope}" 72 73 return [ 74 { 75 "role": "user", 76 "content": content, 77 } 78 ] 79 80 81def register_prompts(app: FastMCP) -> None: 82 """Register prompts with the FastMCP app. 83 84 Args: 85 app: FastMCP application instance 86 """ 87 register_mcp_prompts(app, mcp_module=__name__)