epam / epam/statgpt-backend

MCP app: Remove coercive cross-tool instructions from MCP tool metadata

Open
#609 1 comment 0 reactions 2 assignees Claimed by @kryachkow View on GitHub
Dominant language
Python
Stars
26
Forks
1
Avg merge
1d 17h
Merged PRs (30d)
25

Description

### StatGPT Backend version
latest

### What is the problem this feature will solve?

Anthropic's Software Directory Policy forbids coercing the model into calling other external tools, databases or resources unless the user asked for it. Tool descriptions, annotations and tool results all count as places where such instructions could appear.

There is also an open question from the checklist: is it acceptable to tell the model that statistics-related queries should be routed through StatGPT? That phrasing sits close to the line between describing our own capability (allowed) and steering the model's selection of other tools (not allowed).

Required by: [Anthropic: Directory Policy](https://support.claude.com/en/articles/13145358).

Checklist note: *is it ok to say model that statistics calls should be done through us?*

### What is the proposed feature or solution?

**Audit all model-visible metadata.** Sweep tool descriptions, annotations, prompts and returned text for directives that instruct the model to call, avoid, or prefer any tool, database or resource beyond this server.

**Keep guidance self-scoped.** Describe what this server does and the conditions under which it is useful; do not describe what the model should do with other tools.

**Resolve the routing question.** Get an explicit read on the "route statistics queries through StatGPT" wording — legal/policy review internally, and if still ambiguous, ask via the review contact (mcp-review@anthropic.com) before submission.

**Record approved phrasing.** Publish the agreed wording in the repo so future description edits do not reintroduce the pattern.

**Definition of done.** The audit is complete, the routing wording is either approved or replaced, and the decision is documented.

### What alternatives have you considered?

- **Keep the steering language as is** — carries direct rejection risk under the policy, and it is a cheap item for a reviewer to spot.
- **Remove all usage guidance** — over-corrects: describing legitimate use cases for our own tools is permitted and improves selection accuracy.
- **Decide at submission time** — rejected because the wording is embedded in shipped tool metadata and needs a lead time to change.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.