Skip to content

MCP: add describe tool for Function inspection #3729

@sneharathod7

Description

@sneharathod7

Summary

The MCP server currently does not expose a describe tool, even though func describe already exists as a CLI command. After deploying a Function through the MCP workflow, agents do not have a direct MCP-native way to inspect the deployed Function state.

Related to #3646 (LFX: End-to-End Agentic Workflow).

Current Behavior

After deployment, the available MCP workflow is somewhat limited for inspection:

  • list provides only high-level Function information
  • func://function exposes local func.yaml state rather than live deployment details

This makes it difficult for agents to retrieve deployment-specific information such as:

  • route URL
  • deployed image
  • revision status
  • readiness conditions

Expected Behavior

A describe MCP tool should allow agents to inspect deployed Function details such as:

  • Function name and namespace
  • Runtime and image reference
  • Route URL
  • Current revision and readiness state
  • Additional deployment metadata and conditions

Why This Matters

The current MCP flow supports create → build → deploy, but there is limited support for deployment inspection afterward.

Adding a describe tool would improve the end-to-end workflow by allowing agents to verify and reason about deployed Function state directly through MCP instead of relying on external commands.

Possible Implementation Direction

A new pkg/mcp/tools_describe.go tool could wrap the existing func describe command following the same handler and registration patterns already used by the other MCP tools.

The implementation could support:

  • name-based lookup
  • path-based lookup
  • namespace selection
  • optional output formatting

Tool registration and tests could follow the existing MCP tool patterns already present in pkg/mcp.

Notes

  • func describe already exists as a CLI command in cmd/describe.go
  • describe is a read-only operation and should not require write-enabled MCP mode

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions