Skip to content

Commit c34926c

Browse files
authored
Fix formatting and wording in README.md
1 parent 6804a57 commit c34926c

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<h1 align="center">Model Context Shell</h1>
22

3-
<p align="center"><b>Unix-style pipelines for MCP tools -compose complex tool workflows as single pipeline requests</b></p>
3+
<p align="center"><b>Unix-style pipelines for MCP tools - compose complex tool workflows as a single tool call</b></p>
44

55
<p align="center">
66
<a href="#introduction">Introduction</a> &middot;
@@ -114,7 +114,7 @@ The agent constructs pipelines as JSON arrays of stages. Data flows from one sta
114114

115115
Any tool stage can set `"for_each": true` to process items one-by-one. The preceding stage must output JSONL (one JSON object per line), and the tool is called once per line. Results are collected into an array. So "fetch a list of URLs, then fetch each one" is a single pipeline call, using a single reused connection.
116116

117-
Full example -fetch users, extract their profile URLs, fetch each profile, filter for active users:
117+
Full example - fetch users, extract their profile URLs, fetch each profile, filter for active users:
118118

119119
```json
120120
[
@@ -129,7 +129,7 @@ Full example -fetch users, extract their profile URLs, fetch each profile, filte
129129

130130
### Prerequisites
131131

132-
- [ToolHive](https://stacklok.com/download/) (`thv`) -a runtime for managing MCP servers
132+
- [ToolHive](https://stacklok.com/download/) (`thv`) - a runtime for managing MCP servers
133133

134134
### Quick start
135135

@@ -227,13 +227,13 @@ uv run pyright
227227

228228
## Specification
229229

230-
For now, this project serves as a living specification -the implementation _is_ the spec. A more formal specification may be extracted later.
230+
For now, this project serves as a living specification - the implementation _is_ the spec. A more formal specification may be extracted later.
231231

232232
**Execution model.** The current execution model is a scriptable map-reduce pipeline. Stages run sequentially, with `for_each` providing the map step over tool calls. This could be extended with a more generic mini-interpreter, but it probably shouldn't grow into a full programming language. Past a certain complexity, it makes more sense for agents to write code directly, or combine written code with the shell approach. That said, built-in access to tools like `jq` and `awk` already makes the pipeline model pretty capable for most data transformation tasks.
233233

234234
**Pipeline schema.** The pipeline stages are defined as typed Pydantic models in [`models.py`](https://github.com/StacklokLabs/model-context-shell/blob/main/models.py). FastMCP generates a discriminated-union JSON Schema from these models, so MCP clients can validate pipelines before sending them.
235235

236-
**ToolHive and security.** The reliance on ToolHive and container isolation is a practical choice -it was the simplest way to get a working, secure system. ToolHive handles tool discovery, container management, and networking, which lets this project focus on the pipeline execution model itself. A different deployment model could be used without changing the core concept.
236+
**ToolHive and security.** The reliance on ToolHive and container isolation is a practical choice - it was the simplest way to get a working, secure system. ToolHive handles tool discovery, container management, and networking, which lets this project focus on the pipeline execution model itself. A different deployment model could be used without changing the core concept.
237237

238238
## RFC
239239

0 commit comments

Comments
 (0)