Skip to content

[FEATURE]: Maintain custom and original description for tools #2893

@KKNithin

Description

@KKNithin

🧭 Type of Feature

Please select the most appropriate category:

  • Enhancement to existing functionality
  • New feature or capability
  • New MCP-compliant server
  • New component or integration
  • Developer tooling or test improvement
  • Packaging, automation and deployment (ex: pypi, docker, quay.io, kubernetes, terraform)
  • Other (please describe below)

🧭 Epic

Title: Maintain custom and original description for tools
Goal: This helps us provide LLM's access to custom descriptions which are fine grained to needs.
Why now: Sometimes descriptions can be unnecessarily large and it eats up a lot of context window space, this feature lets user modify description without modifying MCP Server tools. As tools exposed via virtual servers read description of tools persisted in db using MCP protocol this would be a custom one solving the problem. Also always have a copy of original description during registration.


🙋♂️ User Story 1

As a: developer
I want: add original_description column to tools table, copy description column to it during alembic db upgrade
So that: a copy of original description is persisted eventhough description is overridden

✅ Acceptance Criteria

Scenario: db upgrade
  Given tools table without original_description column
  When db upgrade happens thru alembic
  Then original_description column is created and populated with values of description column

Scenario: Registering gateway
  Given a new gateway is registered
  When MCP protocol discovers tools
  Then copy description to original_description

Scenario: ensure tool apis are updated
  Given context forge has a gateway registered and has some tools
  When update, statechange and listing of tools get invoked
  Then original_description column should be present along with description column

🔗 MCP Standards Check

  • Change adheres to current MCP specifications
  • No breaking changes to existing MCP-compliant integrations
  • If deviations exist, please describe them below:

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestinternal-sariInternal Project Partner - Codename SaritriageIssues / Features awaiting triage

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions