@portofcontext/pctx 0.1.1 → 0.1.3
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/CHANGELOG.md +27 -6
- package/README.md +12 -11
- package/npm-shrinkwrap.json +2 -2
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,9 +5,28 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
-
## [
|
|
8
|
+
## [UNRELEASED] - YYYY-MM-DD
|
|
9
9
|
|
|
10
|
-
## [
|
|
10
|
+
## [v0.1.3] - 2025-11-13
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- `pctx add` now accepts `--header` and `--bearer` to add authentication without interaction
|
|
15
|
+
- `pctx.json` config now accepts version which gets returned as the MCP's version in the `initialize` MCP response
|
|
16
|
+
- add typescript type check runtime capabilities including more typical string/array utils
|
|
17
|
+
- tool descriptions updated for consistent behavior
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- Catch user cancellations when adding MCP servers in `pctx init`
|
|
22
|
+
|
|
23
|
+
## [v0.1.2] - 2025-11-12
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- Synced deno runtime op stubs and JS config interfaces to match dev, supporting auth in built CLI.
|
|
28
|
+
|
|
29
|
+
## [v0.1.1] - 2025-11-10
|
|
11
30
|
|
|
12
31
|
### Added
|
|
13
32
|
|
|
@@ -25,12 +44,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
25
44
|
- No filesystem, environment, or system access beyond allowed hosts
|
|
26
45
|
- MCP clients are authenticated, credentials hidden from LLMs an Deno env
|
|
27
46
|
|
|
28
|
-
## [
|
|
47
|
+
## [v0.1.0] - 2025-11-10
|
|
29
48
|
|
|
30
49
|
### Added
|
|
31
50
|
|
|
32
51
|
- Initial public release
|
|
33
52
|
|
|
34
|
-
[Unreleased]: https://github.com/portofcontext/pctx/compare/v0.1.
|
|
35
|
-
[
|
|
36
|
-
[
|
|
53
|
+
[Unreleased]: https://github.com/portofcontext/pctx/compare/v0.1.3...HEAD
|
|
54
|
+
[v0.1.3]: https://github.com/portofcontext/pctx/compare/v0.1.3
|
|
55
|
+
[v0.1.2]: https://github.com/portofcontext/pctx/compare/v0.1.2
|
|
56
|
+
[v0.1.1]: https://github.com/portofcontext/pctx/compare/v0.1.1
|
|
57
|
+
[v0.1.0]: https://github.com/portofcontext/pctx/releases/tag/v0.1.0
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
[](https://portofcontext.com)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+

|
|
8
8
|
[](https://www.rust-lang.org)
|
|
9
9
|
[](https://github.com/portofcontext/pctx/actions)
|
|
10
10
|
|
|
@@ -14,10 +14,9 @@
|
|
|
14
14
|
|
|
15
15
|
The open source framework to connect AI agents to tools and services with [code mode](#what-is-code-mode)
|
|
16
16
|
|
|
17
|
-
|
|
18
17
|
</div>
|
|
19
18
|
|
|
20
|
-
##
|
|
19
|
+
## Install
|
|
21
20
|
|
|
22
21
|
```bash
|
|
23
22
|
# Homebrew
|
|
@@ -26,7 +25,8 @@ brew install portofcontext/tap/pctx
|
|
|
26
25
|
# Curl
|
|
27
26
|
curl --proto '=https' --tlsv1.2 -LsSf https://raw.githubusercontent.com/portofcontext/pctx/main/install.sh | sh
|
|
28
27
|
|
|
29
|
-
#
|
|
28
|
+
# NPM
|
|
29
|
+
npm i -g @portofcontext/pctx
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
## Quick Start
|
|
@@ -44,25 +44,28 @@ pctx start
|
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
For complete CLI documentation, see [CLI.md](docs/CLI.md).
|
|
47
|
+
For configuration options, see [Configuration Guide](docs/config.md).
|
|
47
48
|
|
|
48
49
|
## What is pctx?
|
|
49
50
|
|
|
50
|
-
`pctx` sits between AI agents and MCP servers. It aggregates multiple upstream MCP servers, handles authentication, and exposes tools through a unified Code Mode interface. Instead of agents managing connections to individual MCP servers, they connect once to pctx.
|
|
51
|
+
`pctx` sits between AI agents and MCP servers. It aggregates multiple upstream MCP servers, handles authentication, and exposes tools through a unified [Code Mode](#what-is-code-mode) interface. Instead of agents managing connections to individual MCP servers, they connect once to pctx.
|
|
51
52
|
|
|
52
53
|
## What is Code Mode?
|
|
53
54
|
|
|
54
55
|
Code mode replaces sequential tool calling with code execution. Rather than an agent calling tools one at a time and passing results through its context window, it writes TypeScript code that executes in a sandbox. Read Anthropic's overview [here](https://www.anthropic.com/engineering/code-execution-with-mcp).
|
|
55
56
|
|
|
56
57
|
**Traditional MCP flow**:
|
|
58
|
+
|
|
57
59
|
1. Agent calls `getSheet(id)`
|
|
58
60
|
2. Server returns 1000 rows → agent's context
|
|
59
61
|
3. Agent calls `filterRows(criteria)`
|
|
60
62
|
4. Server returns 50 rows → agent's context
|
|
61
63
|
|
|
62
64
|
**With Code Mode**:
|
|
65
|
+
|
|
63
66
|
```typescript
|
|
64
|
-
const sheet = await gdrive.getSheet({ sheetId:
|
|
65
|
-
const orders = sheet.filter(row => row.status ===
|
|
67
|
+
const sheet = await gdrive.getSheet({ sheetId: "abc" });
|
|
68
|
+
const orders = sheet.filter((row) => row.status === "pending");
|
|
66
69
|
console.log(`Found ${orders.length} orders`);
|
|
67
70
|
```
|
|
68
71
|
|
|
@@ -115,16 +118,14 @@ console.log(`Found ${orders.length} orders`);
|
|
|
115
118
|
└──────┴──────┴──────┴──────┘
|
|
116
119
|
```
|
|
117
120
|
|
|
118
|
-
|
|
119
121
|
## Security
|
|
120
122
|
|
|
121
123
|
- LLM generated code runs in an isolated [Deno](https://deno.com) sandbox that can only access the network hosts specified in the configuration file.
|
|
122
124
|
- No filesystem, environment, network (beyond allowed hosts), or system access.
|
|
123
|
-
- MCP clients are authenticated. LLMs
|
|
124
|
-
|
|
125
|
+
- MCP clients are authenticated in pctx. LLMs can never see your auth.
|
|
125
126
|
|
|
126
127
|
## Learn More
|
|
127
128
|
|
|
128
129
|
- [Model Context Protocol (MCP)](https://modelcontextprotocol.io/)
|
|
129
130
|
- [Code execution with MCP by Anthropic](https://www.anthropic.com/engineering/code-execution-with-mcp)
|
|
130
|
-
- [Code Mode explanation by Cloudflare](https://blog.cloudflare.com/code-mode/)
|
|
131
|
+
- [Code Mode explanation by Cloudflare](https://blog.cloudflare.com/code-mode/)
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"hasInstallScript": true,
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"name": "@portofcontext/pctx",
|
|
27
|
-
"version": "0.1.
|
|
27
|
+
"version": "0.1.3"
|
|
28
28
|
},
|
|
29
29
|
"node_modules/@isaacs/balanced-match": {
|
|
30
30
|
"engines": {
|
|
@@ -897,5 +897,5 @@
|
|
|
897
897
|
}
|
|
898
898
|
},
|
|
899
899
|
"requires": true,
|
|
900
|
-
"version": "0.1.
|
|
900
|
+
"version": "0.1.3"
|
|
901
901
|
}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"artifactDownloadUrl": "https://github.com/portofcontext/pctx/releases/download/v0.1.
|
|
2
|
+
"artifactDownloadUrl": "https://github.com/portofcontext/pctx/releases/download/v0.1.3",
|
|
3
3
|
"bin": {
|
|
4
4
|
"generate-cli-docs": "run-generate-cli-docs.js",
|
|
5
5
|
"pctx": "run-pctx.js"
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"zipExt": ".tar.gz"
|
|
77
77
|
}
|
|
78
78
|
},
|
|
79
|
-
"version": "0.1.
|
|
79
|
+
"version": "0.1.3",
|
|
80
80
|
"volta": {
|
|
81
81
|
"node": "18.14.1",
|
|
82
82
|
"npm": "9.5.0"
|