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

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions