@standardbeagle/slop-mcp 0.12.1 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -61,15 +61,19 @@ claude mcp add slop-mcp -- npx -y @standardbeagle/slop-mcp serve
61
61
  Define MCP servers in `.slop-mcp.kdl`:
62
62
 
63
63
  ```kdl
64
- mcp "filesystem" {
65
- command "npx" "-y" "@anthropic/mcp-filesystem"
66
- args "/path/to/dir"
67
- }
68
-
69
64
  mcp "github" {
70
65
  transport "sse"
71
66
  url "https://mcp.github.com/sse"
72
67
  }
68
+
69
+ mcp "jira" {
70
+ transport "streamable"
71
+ url "https://mcp.atlassian.com/v2/mcp"
72
+ }
73
+
74
+ mcp "lci" {
75
+ command "lci" "mcp"
76
+ }
73
77
  ```
74
78
 
75
79
  ## The 8 Meta-Tools
@@ -85,14 +89,60 @@ mcp "github" {
85
89
  | `slop_reference` | Browse SLOP built-in functions |
86
90
  | `slop_help` | Get detailed help for a SLOP function |
87
91
 
92
+ ## Examples
93
+
94
+ ### Cross-MCP orchestration with SLOP
95
+
96
+ Chain tools across multiple MCPs in a single `run_slop` call — intermediate results stay out of the agent's context:
97
+
98
+ ```python
99
+ # Create Jira tasks from unread emails matching a filter
100
+ emails = gmail.search_messages(query: "label:action-needed is:unread")
101
+ for email in emails {
102
+ jira.create_issue(
103
+ project: "OPS",
104
+ summary: email["subject"],
105
+ description: format("From: {}\n\n{}", email["from"], email["snippet"]),
106
+ issue_type: "Task"
107
+ )
108
+ gmail.modify_message(id: email["id"], remove_labels: ["UNREAD"])
109
+ }
110
+ emit(created: len(emails))
111
+ # Agent sees only: {"created": 4}
112
+ ```
113
+
114
+ ```python
115
+ # Index codebase structure into persistent memory for future sessions
116
+ results = lci.search(query: "public API endpoints")
117
+ endpoints = results
118
+ | map(|r| {"path": r["file"], "name": r["symbol"], "kind": r["kind"]})
119
+ | filter(|r| r["kind"] == "function")
120
+ mem_save("project", "api_endpoints", endpoints,
121
+ description: "Public API endpoint inventory")
122
+ emit(indexed: len(endpoints))
123
+ ```
124
+
125
+ ```python
126
+ # Generate a visual report from code analysis
127
+ stats = lci.search(query: "struct")
128
+ by_package = stats
129
+ | map(|r| r["file"] | split("/") | first())
130
+ | group_by(|pkg| pkg)
131
+ chart_data = by_package
132
+ | items()
133
+ | map(|pair| {"label": pair[0], "value": len(pair[1])})
134
+ | sorted(|a, b| b["value"] - a["value"])
135
+ banana.create_chart(type: "bar", title: "Structs by Package", data: chart_data)
136
+ ```
137
+
88
138
  ## Features
89
139
 
90
140
  - **Progressive discovery** — agents find tools via `search_tools`, not by loading everything upfront
91
- - **SLOP scripting** — chain tool calls and process results in a single `run_slop` call
141
+ - **SLOP scripting** — chain tool calls across MCPs and process results in a single `run_slop` call
92
142
  - **Lazy connections** — MCP servers connect asynchronously with tool metadata caching
93
143
  - **Persistent memory** — disk-backed `mem_save`/`mem_load`/`mem_search` across sessions
94
144
  - **Three-tier config** — project-local > project > user config merging with KDL
95
- - **OAuth support** — browser-based auth for MCPs like Figma, GitHub, Linear
145
+ - **OAuth support** — browser-based auth for MCPs like Figma, GitHub, Linear, Jira
96
146
  - **All transports** — stdio, SSE, and streamable HTTP
97
147
 
98
148
  ## Documentation
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@standardbeagle/slop-mcp",
3
- "version": "0.12.1",
3
+ "version": "0.13.0",
4
4
  "description": "MCP orchestrator — connect unlimited Model Context Protocol servers through 8 meta-tools. Progressive tool discovery keeps your AI agent's context window small.",
5
5
  "main": "index.js",
6
6
  "bin": {