Skip to content

refactor: remove prompting tools, focus MCP on API interaction#1

Open
dithom wants to merge 1 commit into
developfrom
optio/task-61a9f2f9-700e-4228-9a57-4efc96d1e213
Open

refactor: remove prompting tools, focus MCP on API interaction#1
dithom wants to merge 1 commit into
developfrom
optio/task-61a9f2f9-700e-4228-9a57-4efc96d1e213

Conversation

@dithom

@dithom dithom commented Mar 29, 2026

Copy link
Copy Markdown
Owner

Summary

  • Removed three prompting tools (start-plugin-fix, setup-environment, check-environment) that generated LLM prompt templates instead of interacting with the Shopware account API
  • Cleaned up get-support-ticket tool to return raw ticket data without embedded LLM instructions
  • Updated README to reflect the focused scope: MCP for Shopware account API interaction only

The MCP was originally built for Cursor before tool calls existed, so it included tools that created prompts based on templates. This is not what an MCP should do — it should only provide the ability for AI to interact with the Shopware account API. Prompting is the responsibility of the AI client, not the MCP server.

Test plan

  • TypeScript builds successfully (npm run build)
  • All 6 existing tests pass (npm test)
  • Prettier formatting passes (npm run format)
  • Verify get-support-ticket tool works correctly against the Shopware account API

🤖 Generated with Claude Code

…nteraction

Remove tools that generated LLM prompts (start-plugin-fix, setup-environment,
check-environment) as prompting is not the responsibility of an MCP server.
The MCP now solely provides API interaction with the Shopware account API.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

@dithom dithom left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR correctly implements the task of removing prompting responsibility from the MCP server.

Correctness: All three prompting tools (start-plugin-fix, check-environment, setup-environment) that generated LLM prompt templates are properly removed. The get-support-ticket tool is correctly cleaned up to return raw ticket data instead of embedding LLM instructions in the response text. The tool description is updated to accurately reflect its purpose.

Consistency: index.ts removes all imports and registrations for the deleted tools. The PROJECT_DIRECTORY env var (used only by the removed filesystem tools) is also removed from the README config examples — a clean, complete cleanup.

README: Improved by adding a Claude Code config example alongside Cursor, fixing the missing newline, and updating the description to reflect the new focused scope.

Tests: The 6 existing tests cover the formatter and API client, which are the parts that remain. No new tests are needed since the removed tools were pure template-string generators with no meaningful logic to test.

No issues found. The change correctly narrows the MCP to its intended responsibility: providing AI access to the Shopware account API. LGTM.

Comment thread README.md
# Shopware MCP

A local Model Context Protocol (MCP) server for Shopware plugin development. This project aims to automate bugfixing for Shopware plugins as much as possible by considering support tickets, affected Shopware versions, and affected plugin versions using LLMs in your IDE.
A local Model Context Protocol (MCP) server for interacting with the Shopware account API. This MCP provides tools for AI assistants to access the mostly closed-source Shopware account API, which can otherwise only be reverse engineered using network requests or [shopware-cli](https://github.com/shopware/shopware-cli).

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess "local" is obsolete, thats how mcps usually work

Comment thread README.md
Comment on lines 8 to +51
@@ -26,21 +21,31 @@ Create `.cursor/mcp.json` (in case you are using Cursor) in your desired project
"env": {
"SHOPWARE_ACCOUNT_EMAIL": "YOUR_SHOPWARE_ACCOUNT_EMAIL",
"SHOPWARE_ACCOUNT_PASSWORD": "YOUR_SHOPWARE_ACCOUNT_PASSWORD"
"PROJECT_DIRECTORY": "/absolute/path/to/project"
}
}
}
}
```

Check it's connecting successfully. Then you can prompt something like:
**Cursor** (`.cursor/mcp.json`):

```
Use "start-plugin-fix" to stat fixing the plugin affected by support ticket ABCDE-123456.
```json
{
"mcpServers": {
"shopware-mcp": {
"command": "npx",
"args": ["-y", "@studiosolid/shopware-mcp"],
"env": {
"SHOPWARE_ACCOUNT_EMAIL": "YOUR_SHOPWARE_ACCOUNT_EMAIL",
"SHOPWARE_ACCOUNT_PASSWORD": "YOUR_SHOPWARE_ACCOUNT_PASSWORD"
}
}
}
}
```

or also simply
Check it's connecting successfully. Then you can prompt something like:

```
Can you show me info about ABCDE-123456?
``` No newline at end of file
Can you show me info about support ticket ABCDE-123456?
```

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Check if we actually need that for an mcp. this seems quite agent/tool specific. follow best practices

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant