Skip to content

Commit 2f58b0f

Browse files
committed
Add ADK and n8n integrations to plan;security gaps to risks [skip ci]
1 parent 3d2192a commit 2f58b0f

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

spec/MCP.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,59 @@ async def main():
441441
)
442442
```
443443

444+
### Google ADK (Python)
445+
446+
```python
447+
from google.adk.agents import LlmAgent
448+
from google.adk.tools.mcp_tool import McpToolset
449+
from google.adk.tools.mcp_tool.mcp_session_manager import StdioConnectionParams
450+
from mcp import StdioServerParameters
451+
452+
root_agent = LlmAgent(
453+
model="gemini-2.0-flash",
454+
name="redis_search_agent",
455+
instruction="Search and maintain Redis-backed knowledge using vector search.",
456+
tools=[
457+
McpToolset(
458+
connection_params=StdioConnectionParams(
459+
server_params=StdioServerParameters(
460+
command="uvx",
461+
args=["--from", "redisvl[mcp]", "rvl", "mcp", "--config", "/path/to/mcp_config.yaml"],
462+
env={
463+
"OPENAI_API_KEY": "sk-..." # Or other vectorizer API key
464+
}
465+
),
466+
),
467+
# Optional: filter to specific tools
468+
# tool_filter=["redisvl-search"]
469+
)
470+
],
471+
)
472+
```
473+
474+
### n8n
475+
476+
n8n supports MCP servers via the MCP Server Trigger node. Configure the RedisVL MCP server as an external MCP tool source:
477+
478+
1. **Using SSE transport** (if supported in future versions):
479+
```json
480+
{
481+
"mcpServers": {
482+
"redisvl": {
483+
"url": "http://localhost:9000/sse"
484+
}
485+
}
486+
}
487+
```
488+
489+
2. **Using stdio transport** (via n8n's Execute Command node as a workaround):
490+
Configure a workflow that spawns the MCP server process:
491+
```bash
492+
uvx --from redisvl[mcp] rvl mcp --config /path/to/mcp_config.yaml
493+
```
494+
495+
Note: Full n8n MCP client support depends on n8n's MCP implementation. Refer to [n8n MCP documentation](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.mcptrigger/) for current capabilities.
496+
444497
---
445498

446499
## Observability and Security
@@ -577,3 +630,13 @@ DoD:
577630
- Mitigation: explicit raw-string pass-through semantics and deterministic DSL parser errors.
578631
4. Hidden partial writes during failures.
579632
- Mitigation: conservative `partial_write_possible` signaling.
633+
5. Security and deployment limitations (v1 scope).
634+
- This implementation is designed for local/development usage via stdio transport. It does not include:
635+
- Authentication/authorization mechanisms (unlike Redis Agent Memory Server which supports OAuth2/JWT).
636+
- Remote transports (SSE/HTTP) that would enable multi-tenant or networked deployments.
637+
- Rate limiting or request validation beyond basic input constraints.
638+
- Mitigation: Document clearly that v1 is intended for local, single-user scenarios. Users requiring production-grade security should consider the official Redis MCP server or wait for future RedisVL MCP versions that may add remote transport and auth support.
639+
- For production deployments requiring authentication, users can:
640+
- Deploy behind an authenticating proxy.
641+
- Use environment-based secrets for Redis and vectorizer credentials.
642+
- Restrict network access to the MCP server process.

0 commit comments

Comments
 (0)