fastmcp-duplicate-tool-inline-wins-over-module
When a Salesforce MCP server (or any FastMCP server) defines the same tool name both inline via @mcp.tool() in server.py AND in an imported module, the inline definition in server.py always takes precedence. FastMCP raises on_duplicate='error' and skips the module version silently. Always audit server.py first when fixing tool bugs — the module-level implementation may be dead code.
Related
- 2026-04-04-oracle-001-self-architecture-analysis
- switchy-mcp-internal-duplicate-fastmcp-instances
- sf-deploy-metadata-mcp-tool-bug-missing-sandbox-param
- salesforce
- dead-code-removal-requires-cascade-check-init-py-re-exports
- simple-salesforce-deploy-sandbox-positional-arg-required
- simple-salesforce-deploy-expects-filepath-not-base64
- salesforce-notestrun-blocked-on-production-orgs
- simple-salesforce-mdapi-deploy-sandbox-positional-arg
- salesforce-production-org-rejects-notestrun-test-level
- salesforce-mcp-inline-tool-overrides-module-tool-silently
- fastmcp-inline-tool-takes-precedence-over-module-tool-on-dup
- salesforce-mcp-inline-tool-overrides-module-tool
- salesforce-mcp-inline-tool-overrides-module-on-duplicate-err
- quotetriggerhandler-broker-av-recalc-commented-out
- quotationextn-legacy-apex-api-v41-massive-class
- salesforce-entitydefinition-soql-no-or-support
- salesforce-quotation-car-park-excluded-from-av-computation
- salesforce-mcp-describe-parameter-is-sobject-not-object-name
- server-py-inline-tool-overrides-module-tool-on-duplicate
- server-py-inline-tool-overrides-module-tool-on-duplicate-err
- salesforce-mcp-server-601-tools-api-v66-spring26
- salesforce-mcp-inline-server-py-tools-override-module-tools
- fastmcp-on-duplicate-error-inline-server-py-wins-over-module
- bun-runtime-prerequisite-for-xint