intermcp 0.2.0 → 0.2.1
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 +30 -13
- package/index.js +17 -5
- package/package.json +22 -2
package/README.md
CHANGED
|
@@ -10,23 +10,40 @@
|
|
|
10
10
|
```
|
|
11
11
|
|
|
12
12
|
### Ultra-Fast, Safe Model Context Protocol (MCP) Engine & Multiplexing Hub in Pure Rust
|
|
13
|
-
**Sub-millisecond dispatch • 457,000+ ops/sec* • < 3.8 MB RAM • SafeFS Sandboxing • 1-Click Multi-IDE Setup**
|
|
13
|
+
**Sub-millisecond dispatch • 457,000+ ping ops/sec* • < 3.8 MB RAM • SafeFS Sandboxing • 1-Click Multi-IDE Setup**
|
|
14
14
|
|
|
15
|
-
*
|
|
15
|
+
*Ultra-fast, safe Model Context Protocol (MCP) engine and multiplexing hub in pure Rust, built for Interlayer Blockchain and open for all.*
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
<p align="center">
|
|
18
|
+
<a href="https://crates.io/crates/intermcp"><img src="https://img.shields.io/crates/v/intermcp.svg?style=for-the-badge&logo=rust" alt="Crates.io" /></a>
|
|
19
|
+
<a href="https://www.npmjs.com/package/intermcp"><img src="https://img.shields.io/npm/v/intermcp.svg?style=for-the-badge&logo=npm" alt="npm" /></a>
|
|
20
|
+
<a href="https://pypi.org/project/intermcp/"><img src="https://img.shields.io/pypi/v/intermcp.svg?style=for-the-badge&logo=pypi" alt="PyPI" /></a>
|
|
21
|
+
<a href="https://github.com/Bharathcoorg/intermcp/releases/tag/v0.2.1"><img src="https://img.shields.io/github/v/release/Bharathcoorg/intermcp?style=for-the-badge&logo=github" alt="GitHub release" /></a>
|
|
22
|
+
<a href="https://github.com/Bharathcoorg/intermcp/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/Bharathcoorg/intermcp/ci.yml?branch=main&style=for-the-badge&logo=githubactions" alt="CI Status" /></a>
|
|
23
|
+
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg?style=for-the-badge" alt="License: MIT" /></a>
|
|
24
|
+
</p>
|
|
23
25
|
|
|
24
|
-
[Quickstart](#-1-click-installation--setup) • [Benchmarks](#-benchmarks) • [Key Features](#-key-features) • [Rust](#-rust-sdk-usage) • [TypeScript](#-typescript--node-sdk) • [Python](#-python-client--agent-usage) • [Go](#-go-client-usage) • [PHP](#-php-client-usage) • [
|
|
26
|
+
[Quickstart](#-1-click-installation--setup) • [Packages](#-official-packages--sdks) • [Benchmarks](#-benchmarks) • [Key Features](#-key-features) • [Rust](#-rust-sdk-usage) • [TypeScript](#-typescript--node-sdk) • [Python](#-python-client--agent-usage) • [Go](#-go-client-usage) • [PHP](#-php-client-usage) • [Security](#-security--vulnerability-reporting)
|
|
25
27
|
|
|
26
28
|
---
|
|
27
29
|
|
|
28
30
|
</div>
|
|
29
31
|
|
|
32
|
+
## 📦 Official Packages & SDKs
|
|
33
|
+
|
|
34
|
+
InterMCP core and multi-language client SDKs are officially published and immediately available across all major package ecosystems:
|
|
35
|
+
|
|
36
|
+
| Ecosystem | Registry / Source | Install Command | Registry Links |
|
|
37
|
+
| :--- | :--- | :--- | :--- |
|
|
38
|
+
| **Rust** | **crates.io** | `cargo add intermcp` | [](https://crates.io/crates/intermcp) • [crates.io/crates/intermcp](https://crates.io/crates/intermcp) |
|
|
39
|
+
| **JavaScript / TypeScript** | **npm** | `npm install intermcp` | [](https://www.npmjs.com/package/intermcp) • [npmjs.com/package/intermcp](https://www.npmjs.com/package/intermcp) |
|
|
40
|
+
| **Python** | **PyPI** | `pip install intermcp` | [](https://pypi.org/project/intermcp/) • [pypi.org/project/intermcp](https://pypi.org/project/intermcp/) |
|
|
41
|
+
| **Go** | **Go Modules** | `go get github.com/Bharathcoorg/intermcp/go/intermcp@v0.2.1` | [pkg.go.dev/github.com/Bharathcoorg/intermcp/go/intermcp](https://pkg.go.dev/github.com/Bharathcoorg/intermcp/go/intermcp) |
|
|
42
|
+
| **PHP** | **Packagist** | `composer require bharathcoorg/intermcp` | [packagist.org/packages/bharathcoorg/intermcp](https://packagist.org/packages/bharathcoorg/intermcp) |
|
|
43
|
+
| **Standalone Binaries** | **GitHub Releases** | Prebuilt binaries for Linux, macOS (ARM & Intel), Windows | [GitHub v0.2.1 Release Assets](https://github.com/Bharathcoorg/intermcp/releases/tag/v0.2.1) |
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
30
47
|
## 💡 Overview
|
|
31
48
|
|
|
32
49
|
The **Model Context Protocol (MCP)** standardizes how language models (Claude Desktop, Cursor, Windsurf, Zed) interface with external developer tools, file systems, and databases.
|
|
@@ -173,8 +190,8 @@ Any environment variables containing sensitive keys (`API_KEY`, `SECRET`, `TOKEN
|
|
|
173
190
|
### 7. Deterministic Query Micro-Caching (`--cache`)
|
|
174
191
|
Caches read-only, idempotent operations (such as system diagnostics) using SHA-256 fingerprinting. Read/write filesystem tools remain uncached to guarantee fresh data.
|
|
175
192
|
|
|
176
|
-
### 8. ADR 001:
|
|
177
|
-
Generates tamper-evident cryptographic receipts for every tool execution using RFC 8785 JSON Canonicalization Scheme (JCS) and HMAC-SHA256
|
|
193
|
+
### 8. ADR 001: HMAC-Authenticated Execution Receipts & Provenance (`--receipts`)
|
|
194
|
+
Generates tamper-evident cryptographic receipts for every tool execution using RFC 8785 JSON Canonicalization Scheme (JCS) and HMAC-SHA256 authentication codes. Authenticate offline with:
|
|
178
195
|
```bash
|
|
179
196
|
intermcp verify-receipts audit.receipts.json --key secret-key
|
|
180
197
|
```
|
|
@@ -222,7 +239,7 @@ max_calls_per_minute = 60
|
|
|
222
239
|
```
|
|
223
240
|
|
|
224
241
|
### 14. Dynamic Data-Flow Taint Tracking (`src/taint.rs`)
|
|
225
|
-
Enforces MCP-native confidentiality and provenance labels (`Public`, `Internal`, `Confidential`, `Untrusted`). Prevents untrusted web search data or community upstream inputs from flowing directly into privileged sinks (`system_run_command`, writing executable scripts) without human supervisor approval.
|
|
242
|
+
Enforces MCP-native confidentiality and provenance labels (`Public`, `Internal`, `Confidential`, `Untrusted`). Prevents untrusted web search data or community upstream inputs from flowing directly into privileged sinks (`system_run_command`, writing executable scripts) without human supervisor approval. Note: Taint propagation across unstructured text transformations is cooperative and tracked on structured JSON envelopes.
|
|
226
243
|
|
|
227
244
|
### 15. WebAssembly Module Inspector (`src/wasm.rs`)
|
|
228
245
|
WASM module inspector (validates header, version, declared memory, exports — does NOT execute bytecode in an isolated VM).
|
|
@@ -264,7 +281,7 @@ use serde_json::json;
|
|
|
264
281
|
|
|
265
282
|
#[tokio::main]
|
|
266
283
|
async fn main() -> Result<()> {
|
|
267
|
-
let mut server = Server::new("custom-server", "0.2.
|
|
284
|
+
let mut server = Server::new("custom-server", "0.2.1");
|
|
268
285
|
|
|
269
286
|
server.add_tool(Box::new(SimpleTool::new(
|
|
270
287
|
"calculate_hash",
|
package/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** InterMCP Node.js / TypeScript SDK v0.2.
|
|
1
|
+
/** InterMCP Node.js / TypeScript SDK v0.2.1 */
|
|
2
2
|
const { spawn } = require("child_process");
|
|
3
3
|
const readline = require("readline");
|
|
4
4
|
const path = require("path");
|
|
@@ -6,6 +6,7 @@ const path = require("path");
|
|
|
6
6
|
class InterMcpClient {
|
|
7
7
|
constructor(options = {}) {
|
|
8
8
|
this.plugin = options.plugin || null;
|
|
9
|
+
this.binaryPath = options.binaryPath || null;
|
|
9
10
|
this.proc = null;
|
|
10
11
|
this.rl = null;
|
|
11
12
|
this.requestId = 0;
|
|
@@ -15,15 +16,26 @@ class InterMcpClient {
|
|
|
15
16
|
async start() {
|
|
16
17
|
const isWin = process.platform === "win32";
|
|
17
18
|
const binaryName = isWin ? "intermcp.exe" : "intermcp";
|
|
18
|
-
const
|
|
19
|
+
const defaultRelease = path.join(__dirname, "target", "release", binaryName);
|
|
20
|
+
const defaultDebug = path.join(__dirname, "target", "debug", binaryName);
|
|
21
|
+
|
|
22
|
+
let cmd = this.binaryPath;
|
|
23
|
+
if (!cmd) {
|
|
24
|
+
if (require("fs").existsSync(defaultRelease)) {
|
|
25
|
+
cmd = defaultRelease;
|
|
26
|
+
} else if (require("fs").existsSync(defaultDebug)) {
|
|
27
|
+
cmd = defaultDebug;
|
|
28
|
+
} else {
|
|
29
|
+
cmd = "cargo";
|
|
30
|
+
}
|
|
31
|
+
}
|
|
19
32
|
|
|
20
|
-
const cmd = require("fs").existsSync(binPath) ? binPath : "cargo";
|
|
21
33
|
const args = cmd === "cargo"
|
|
22
34
|
? ["run", "--manifest-path", path.join(__dirname, "Cargo.toml"), "--", "serve", ...(this.plugin ? ["--plugin", this.plugin] : [])]
|
|
23
35
|
: ["serve", ...(this.plugin ? ["--plugin", this.plugin] : [])];
|
|
24
36
|
|
|
25
37
|
this.proc = spawn(cmd, args, {
|
|
26
|
-
stdio: ["pipe", "pipe", "
|
|
38
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
27
39
|
});
|
|
28
40
|
|
|
29
41
|
this.rl = readline.createInterface({
|
|
@@ -51,7 +63,7 @@ class InterMcpClient {
|
|
|
51
63
|
// Handshake
|
|
52
64
|
await this.request("initialize", {
|
|
53
65
|
protocolVersion: "2024-11-05",
|
|
54
|
-
clientInfo: { name: "intermcp-node-client", version: "0.2.
|
|
66
|
+
clientInfo: { name: "intermcp-node-client", version: "0.2.1" },
|
|
55
67
|
});
|
|
56
68
|
}
|
|
57
69
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "intermcp",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Ultra-fast, safe Model Context Protocol (MCP) engine and multiplexing hub in pure Rust, built for Interlayer Blockchain and open for all",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -22,12 +22,32 @@
|
|
|
22
22
|
"keywords": [
|
|
23
23
|
"mcp",
|
|
24
24
|
"model-context-protocol",
|
|
25
|
+
"mcp-server",
|
|
26
|
+
"mcp-client",
|
|
27
|
+
"mcp-runtime",
|
|
28
|
+
"mcp-hub",
|
|
25
29
|
"ai",
|
|
30
|
+
"ai-agents",
|
|
31
|
+
"agentic-ai",
|
|
32
|
+
"autonomous-agents",
|
|
33
|
+
"function-calling",
|
|
34
|
+
"tool-calling",
|
|
35
|
+
"blockchain",
|
|
36
|
+
"interlayer",
|
|
37
|
+
"interlayer-blockchain",
|
|
38
|
+
"web3",
|
|
39
|
+
"decentralized-ai",
|
|
26
40
|
"claude",
|
|
41
|
+
"claude-desktop",
|
|
27
42
|
"cursor",
|
|
43
|
+
"windsurf",
|
|
44
|
+
"cline",
|
|
28
45
|
"llm",
|
|
46
|
+
"llm-tools",
|
|
29
47
|
"rust",
|
|
30
|
-
"
|
|
48
|
+
"systems-programming",
|
|
49
|
+
"safefs",
|
|
50
|
+
"zero-trust",
|
|
31
51
|
"developer-tools"
|
|
32
52
|
],
|
|
33
53
|
"author": "Bharath B R <bharathcoorg7@gmail.com>",
|