mcp-native 0.9.1 → 0.9.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/LICENSE +21 -0
- package/README.md +20 -35
- package/package.json +11 -14
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 MCP Native contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -13,23 +13,18 @@
|
|
|
13
13
|
|
|
14
14
|
</div>
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
`mcp-native` is the current convenient way to use the runtime, A2UI, React Native, mixed-surface,
|
|
17
|
+
and WebView APIs from one package. It re-exports the focused `@mcp-native/*` layers while leaving
|
|
18
|
+
transport adapters as a separate installation choice. The `1.0.0` roadmap adds
|
|
19
|
+
`@mcp-native/host` as an optional high-level connect-call-render package; these low-level APIs remain
|
|
20
|
+
available for applications that need manual composition.
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
> documented stable MCP Apps `2026-01-26` native host-adapter profile. See the [A2UI profile](https://github.com/pablospaniard/mcp-native/blob/main/docs/a2ui-v1-conformance.md), [MCP Apps profile](https://github.com/pablospaniard/mcp-native/blob/main/docs/mcp-apps-compatibility.md), and [standards matrix](https://github.com/pablospaniard/mcp-native/blob/main/docs/standards-compatibility.md).
|
|
22
|
+
The current 0.9 line contains the validated low-level React Native feature set and is ready to try in
|
|
23
|
+
an integration. New work should use A2UI v1 Candidate or the stable MCP Apps `2026-01-26` host flow;
|
|
24
|
+
the custom A2UI 0.1 APIs live under `/legacy` for migration. Public standard-contract registration
|
|
25
|
+
and application-defined custom input adapters are explicitly deferred until after `1.0.0`.
|
|
27
26
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
Read the human-oriented [product guide](https://github.com/pablospaniard/mcp-native/blob/main/docs/product-guide.md)
|
|
31
|
-
and [mixed-surface guide](https://github.com/pablospaniard/mcp-native/blob/main/docs/mixed-surfaces.md)
|
|
32
|
-
before the API examples.
|
|
27
|
+
For the big picture, start with the [product guide](https://github.com/pablospaniard/mcp-native/blob/main/docs/product-guide.md).
|
|
33
28
|
|
|
34
29
|
## Install
|
|
35
30
|
|
|
@@ -37,7 +32,8 @@ before the API examples.
|
|
|
37
32
|
npm install mcp-native react
|
|
38
33
|
```
|
|
39
34
|
|
|
40
|
-
|
|
35
|
+
React `>=18.1.0` is the only peer dependency. Native components and platform integrations are
|
|
36
|
+
supplied by the host application. The package is ESM-only and includes TypeScript declarations.
|
|
41
37
|
|
|
42
38
|
## A2UI v1 Candidate path
|
|
43
39
|
|
|
@@ -49,20 +45,18 @@ official action envelopes to a host callback; it never selects a return transpor
|
|
|
49
45
|
[complete v1 host-flow example](https://github.com/pablospaniard/mcp-native#a2ui-v1-candidate-host-flow)
|
|
50
46
|
and the [`@mcp-native/react-native` adapter documentation](https://github.com/pablospaniard/mcp-native/tree/main/packages/react-native#a2ui-v1-render-plan-adapter).
|
|
51
47
|
|
|
52
|
-
##
|
|
48
|
+
## Legacy custom `0.1` migration
|
|
53
49
|
|
|
54
50
|
For `0.9.x`, migrate these imports to `mcp-native/legacy`. Root aliases are removed at `1.0.0`;
|
|
55
51
|
the explicit legacy subpath stays frozen for migration and security fixes.
|
|
56
52
|
|
|
57
53
|
```tsx
|
|
54
|
+
import { McpNativeRuntime, createAllowlistActionPolicy, type McpClient } from "mcp-native";
|
|
58
55
|
import {
|
|
59
56
|
McpNativeSurface,
|
|
60
|
-
McpNativeRuntime,
|
|
61
|
-
createAllowlistActionPolicy,
|
|
62
57
|
parseA2uiSurface,
|
|
63
58
|
useMcpNativeActionDispatcher,
|
|
64
|
-
|
|
65
|
-
} from "mcp-native";
|
|
59
|
+
} from "mcp-native/legacy";
|
|
66
60
|
import { Button, Text, TextInput, View } from "react-native";
|
|
67
61
|
|
|
68
62
|
const components = { Button, Text, TextInput, View };
|
|
@@ -127,7 +121,7 @@ Install an individual package instead when you only need one layer.
|
|
|
127
121
|
|
|
128
122
|
Use the separately installable [`@mcp-native/mcp`](https://github.com/pablospaniard/mcp-native/tree/main/packages/mcp) package to connect these APIs to the official MCP TypeScript SDK without forcing that SDK dependency on every `mcp-native` consumer.
|
|
129
123
|
|
|
130
|
-
##
|
|
124
|
+
## Included in the current 0.9 line
|
|
131
125
|
|
|
132
126
|
- transport-independent MCP runtime contracts;
|
|
133
127
|
- isolated migration support for the deprecated custom `0.1` surface;
|
|
@@ -155,19 +149,10 @@ Use the separately installable [`@mcp-native/mcp`](https://github.com/pablospani
|
|
|
155
149
|
- pinned current-protocol integration coverage through the SDK HTTP handler/fetch path;
|
|
156
150
|
- ESM exports, TypeScript declarations, automated tests, and signed npm provenance.
|
|
157
151
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
non-media catalog, typed renderer-local bindings, bounded formatting and validation, host-callback
|
|
163
|
-
actions, required image grants, policy-gated HTTP(S) `openUrl`, and exact installed-subset
|
|
164
|
-
discovery. Release `0.6.0` added bounded consent, expiring/revocable host-owned grants, interactive
|
|
165
|
-
OAuth, scope history, lifecycle coordination, actionable states, and redacted operations. The
|
|
166
|
-
packages intentionally do not claim MCP operations or A2UI features outside their documented
|
|
167
|
-
profiles. Full streaming host integration, transport placement for A2UI capability objects, and
|
|
168
|
-
separate non-blocking Expo Go integration PoCs remain deferred or excluded work. Follow the
|
|
169
|
-
[roadmap](https://github.com/pablospaniard/mcp-native/blob/main/docs/roadmap.md) for exact claim
|
|
170
|
-
boundaries.
|
|
152
|
+
For the release-by-release history, see the
|
|
153
|
+
[changelog](https://github.com/pablospaniard/mcp-native/blob/main/CHANGELOG.md). The runnable
|
|
154
|
+
[Expo Go todo app](../../examples/expo-go-todolist/README.md) shows the main A2UI and React Native
|
|
155
|
+
pieces working together.
|
|
171
156
|
|
|
172
157
|
## Security model
|
|
173
158
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-native",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.3",
|
|
4
4
|
"description": "Convenience package for the MCP Native runtime.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"a2ui",
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"files": [
|
|
23
23
|
"dist",
|
|
24
|
+
"LICENSE",
|
|
24
25
|
"README.md"
|
|
25
26
|
],
|
|
26
27
|
"type": "module",
|
|
@@ -30,29 +31,25 @@
|
|
|
30
31
|
"exports": {
|
|
31
32
|
".": {
|
|
32
33
|
"types": "./dist/index.d.ts",
|
|
33
|
-
"import": "./dist/index.js"
|
|
34
|
+
"import": "./dist/index.js",
|
|
35
|
+
"default": "./dist/index.js"
|
|
34
36
|
},
|
|
35
37
|
"./legacy": {
|
|
36
38
|
"types": "./dist/legacy.d.ts",
|
|
37
|
-
"import": "./dist/legacy.js"
|
|
39
|
+
"import": "./dist/legacy.js",
|
|
40
|
+
"default": "./dist/legacy.js"
|
|
38
41
|
}
|
|
39
42
|
},
|
|
40
43
|
"publishConfig": {
|
|
41
44
|
"access": "public"
|
|
42
45
|
},
|
|
43
46
|
"dependencies": {
|
|
44
|
-
"@mcp-native/a2ui": "^0.9.
|
|
45
|
-
"@mcp-native/core": "^0.9.
|
|
46
|
-
"@mcp-native/react-native": "^0.9.
|
|
47
|
-
"@mcp-native/webview": "^0.9.
|
|
47
|
+
"@mcp-native/a2ui": "^0.9.3",
|
|
48
|
+
"@mcp-native/core": "^0.9.3",
|
|
49
|
+
"@mcp-native/react-native": "^0.9.3",
|
|
50
|
+
"@mcp-native/webview": "^0.9.3"
|
|
48
51
|
},
|
|
49
52
|
"peerDependencies": {
|
|
50
|
-
"react": ">=18.
|
|
51
|
-
"react-native": ">=0.87.0 <1"
|
|
52
|
-
},
|
|
53
|
-
"peerDependenciesMeta": {
|
|
54
|
-
"react-native": {
|
|
55
|
-
"optional": true
|
|
56
|
-
}
|
|
53
|
+
"react": ">=18.1.0"
|
|
57
54
|
}
|
|
58
55
|
}
|