fix: add resource and prompt listing endpoints to MCP server
This commit is contained in:
@@ -3,7 +3,7 @@ from typing import Any
|
|||||||
|
|
||||||
from mcp.server import Server
|
from mcp.server import Server
|
||||||
from mcp.server.stdio import stdio_server
|
from mcp.server.stdio import stdio_server
|
||||||
from mcp.types import TextContent, Tool
|
from mcp.types import Prompt, Resource, ResourceTemplate, TextContent, Tool
|
||||||
|
|
||||||
from airflow_mcp_server.config import AirflowConfig
|
from airflow_mcp_server.config import AirflowConfig
|
||||||
from airflow_mcp_server.tools.tool_manager import get_airflow_tools, get_tool
|
from airflow_mcp_server.tools.tool_manager import get_airflow_tools, get_tool
|
||||||
@@ -36,6 +36,24 @@ async def serve(config: AirflowConfig) -> None:
|
|||||||
logger.error("Failed to list tools: %s", e)
|
logger.error("Failed to list tools: %s", e)
|
||||||
raise
|
raise
|
||||||
|
|
||||||
|
@server.list_resources()
|
||||||
|
async def list_resources() -> list[Resource]:
|
||||||
|
"""List available resources (returns empty list)."""
|
||||||
|
logger.info("Resources list requested - returning empty list")
|
||||||
|
return []
|
||||||
|
|
||||||
|
@server.list_resource_templates()
|
||||||
|
async def list_resource_templates() -> list[ResourceTemplate]:
|
||||||
|
"""List available resource templates (returns empty list)."""
|
||||||
|
logger.info("Resource templates list requested - returning empty list")
|
||||||
|
return []
|
||||||
|
|
||||||
|
@server.list_prompts()
|
||||||
|
async def list_prompts() -> list[Prompt]:
|
||||||
|
"""List available prompts (returns empty list)."""
|
||||||
|
logger.info("Prompts list requested - returning empty list")
|
||||||
|
return []
|
||||||
|
|
||||||
@server.call_tool()
|
@server.call_tool()
|
||||||
async def call_tool(name: str, arguments: dict[str, Any]) -> list[TextContent]:
|
async def call_tool(name: str, arguments: dict[str, Any]) -> list[TextContent]:
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ from typing import Any
|
|||||||
|
|
||||||
from mcp.server import Server
|
from mcp.server import Server
|
||||||
from mcp.server.stdio import stdio_server
|
from mcp.server.stdio import stdio_server
|
||||||
from mcp.types import TextContent, Tool
|
from mcp.types import Prompt, Resource, ResourceTemplate, TextContent, Tool
|
||||||
|
|
||||||
from airflow_mcp_server.config import AirflowConfig
|
from airflow_mcp_server.config import AirflowConfig
|
||||||
from airflow_mcp_server.tools.tool_manager import get_airflow_tools, get_tool
|
from airflow_mcp_server.tools.tool_manager import get_airflow_tools, get_tool
|
||||||
@@ -27,6 +27,24 @@ async def serve(config: AirflowConfig) -> None:
|
|||||||
logger.error("Failed to list tools: %s", e)
|
logger.error("Failed to list tools: %s", e)
|
||||||
raise
|
raise
|
||||||
|
|
||||||
|
@server.list_resources()
|
||||||
|
async def list_resources() -> list[Resource]:
|
||||||
|
"""List available resources (returns empty list)."""
|
||||||
|
logger.info("Resources list requested - returning empty list")
|
||||||
|
return []
|
||||||
|
|
||||||
|
@server.list_resource_templates()
|
||||||
|
async def list_resource_templates() -> list[ResourceTemplate]:
|
||||||
|
"""List available resource templates (returns empty list)."""
|
||||||
|
logger.info("Resource templates list requested - returning empty list")
|
||||||
|
return []
|
||||||
|
|
||||||
|
@server.list_prompts()
|
||||||
|
async def list_prompts() -> list[Prompt]:
|
||||||
|
"""List available prompts (returns empty list)."""
|
||||||
|
logger.info("Prompts list requested - returning empty list")
|
||||||
|
return []
|
||||||
|
|
||||||
@server.call_tool()
|
@server.call_tool()
|
||||||
async def call_tool(name: str, arguments: dict[str, Any]) -> list[TextContent]:
|
async def call_tool(name: str, arguments: dict[str, Any]) -> list[TextContent]:
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ from typing import Any
|
|||||||
|
|
||||||
from mcp.server import Server
|
from mcp.server import Server
|
||||||
from mcp.server.stdio import stdio_server
|
from mcp.server.stdio import stdio_server
|
||||||
from mcp.types import TextContent, Tool
|
from mcp.types import Prompt, Resource, ResourceTemplate, TextContent, Tool
|
||||||
|
|
||||||
from airflow_mcp_server.config import AirflowConfig
|
from airflow_mcp_server.config import AirflowConfig
|
||||||
from airflow_mcp_server.tools.tool_manager import get_airflow_tools, get_tool
|
from airflow_mcp_server.tools.tool_manager import get_airflow_tools, get_tool
|
||||||
@@ -27,6 +27,24 @@ async def serve(config: AirflowConfig) -> None:
|
|||||||
logger.error("Failed to list tools: %s", e)
|
logger.error("Failed to list tools: %s", e)
|
||||||
raise
|
raise
|
||||||
|
|
||||||
|
@server.list_resources()
|
||||||
|
async def list_resources() -> list[Resource]:
|
||||||
|
"""List available resources (returns empty list)."""
|
||||||
|
logger.info("Resources list requested - returning empty list")
|
||||||
|
return []
|
||||||
|
|
||||||
|
@server.list_resource_templates()
|
||||||
|
async def list_resource_templates() -> list[ResourceTemplate]:
|
||||||
|
"""List available resource templates (returns empty list)."""
|
||||||
|
logger.info("Resource templates list requested - returning empty list")
|
||||||
|
return []
|
||||||
|
|
||||||
|
@server.list_prompts()
|
||||||
|
async def list_prompts() -> list[Prompt]:
|
||||||
|
"""List available prompts (returns empty list)."""
|
||||||
|
logger.info("Prompts list requested - returning empty list")
|
||||||
|
return []
|
||||||
|
|
||||||
@server.call_tool()
|
@server.call_tool()
|
||||||
async def call_tool(name: str, arguments: dict[str, Any]) -> list[TextContent]:
|
async def call_tool(name: str, arguments: dict[str, Any]) -> list[TextContent]:
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user