langgenius / langgenius/dify-plugins
[Plugin Request]: MCP DataSource Plugin
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 554
- Forks
- 879
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 125
Description
Plugin Name
MCPDataSource
Function Description
🧠 Objective
Add support for an MCP (Model Context Protocol) Tool as a DataSource plugin in Dify, allowing dynamic retrieval of external data with optional user-defined filters.
🧩 Feature Summary
Feature name: MCP DataSource Plugin
Category: Data Source → External Connector
Goal: Enable Dify apps to pull in real-time data from external systems via the MCP protocol, with configurable input filters.
⚙️ Functional Requirements
| Item | Description |
|---|---|
| DataSource Type | mcp_tool |
| Purpose | Fetch structured data from an external system (API, DB, service) through an MCP interface |
| Input Parameters | - endpoint (string): The MCP endpoint or tool ID.- filters (object or key:value list): Optional filter criteria passed to the MCP request.- fields (optional array): Specific fields or attributes to return. - Input from previous action (Important). |
| Behavior | 1. When triggered, Dify calls the MCP tool with the given endpoint and filters. 2. The returned data becomes part of the context (like RAG data or variables) for the current workflow or agent. 3. The user can map MCP results to variables or documents inside Dify. |
| Output | JSON array or text, depending on MCP response format. |
| UI Integration | - Add a “MCP Tool” option in DataSource setup. - Provide an input editor for filters (JSON, form, or key-value pairs).- Show a “Test connection” button to validate the MCP endpoint and preview results. |
Official Website URL
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files, tests, or entry points. Start by locating the existing Data Source plugin structure and MCP integration points in dify-plugins; done means an mcp_tool source can accept the listed inputs, invoke the MCP tool, expose its results, and provide the requested UI integration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100