Remove 'For App Developers' section from README
This section was added alongside the rename but is not necessary for the dxt -> mcpb rename itself. Removing to keep the rename commit focused on just the naming changes.
This commit is contained in:
parent
0b2658f5b0
commit
cc7b6cde44
1 changed files with 0 additions and 109 deletions
109
README.md
109
README.md
|
|
@ -124,115 +124,6 @@ bundle.mcpb (ZIP file)
|
||||||
- Include all required shared libraries if dynamic linking used
|
- Include all required shared libraries if dynamic linking used
|
||||||
- Test on clean systems without development tools
|
- Test on clean systems without development tools
|
||||||
|
|
||||||
# For App Developers
|
|
||||||
|
|
||||||
Supporting MCPB bundles in your application involves three key steps:
|
|
||||||
|
|
||||||
1. **Load and validate the bundle manifest**
|
|
||||||
2. **Extract the bundle contents to a secure location**
|
|
||||||
3. **Launch the MCP server with the appropriate configuration**
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install @anthropic-ai/mcpb
|
|
||||||
```
|
|
||||||
|
|
||||||
## Basic Usage
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
import { loadConfig, runMcp } from "@anthropic-ai/mcpb";
|
|
||||||
|
|
||||||
// Load a bundle configuration
|
|
||||||
const config = await loadConfig("/path/to/bundle.mcpb", {
|
|
||||||
userConfigValues: {
|
|
||||||
// Optional: provide user configuration values
|
|
||||||
apiKey: "user-api-key",
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
// Run the MCP server
|
|
||||||
const transport = await runMcp(config, {
|
|
||||||
serverParams: config.serverParams,
|
|
||||||
serverPath: config.extractedPath,
|
|
||||||
env: {
|
|
||||||
// Optional: additional environment variables
|
|
||||||
...process.env,
|
|
||||||
...config.env,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
// Use the transport with the MCP SDK client
|
|
||||||
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
||||||
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
|
|
||||||
|
|
||||||
const client = new Client(
|
|
||||||
{
|
|
||||||
name: "example-app",
|
|
||||||
version: "1.0.0",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
capabilities: {},
|
|
||||||
},
|
|
||||||
);
|
|
||||||
|
|
||||||
await client.connect(transport);
|
|
||||||
|
|
||||||
// List available tools
|
|
||||||
const tools = await client.listTools();
|
|
||||||
console.log("Available tools:", tools);
|
|
||||||
```
|
|
||||||
|
|
||||||
## Features
|
|
||||||
|
|
||||||
### Manifest Validation
|
|
||||||
|
|
||||||
All manifests are validated against the schema to ensure compatibility:
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
import { validateManifest } from "@anthropic-ai/mcpb";
|
|
||||||
|
|
||||||
const isValid = validateManifest("/path/to/manifest.json");
|
|
||||||
```
|
|
||||||
|
|
||||||
### Signature Verification
|
|
||||||
|
|
||||||
MCPB bundles can be digitally signed for security. The library includes functions for verifying signatures:
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
import { verifyMcpbFile } from "@anthropic-ai/mcpb/node";
|
|
||||||
|
|
||||||
const signatureInfo = await verifyMcpbFile("/path/to/bundle.mcpb");
|
|
||||||
if (signatureInfo.status === "signed") {
|
|
||||||
console.log("Bundle signed by:", signatureInfo.publisher);
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### User Configuration
|
|
||||||
|
|
||||||
Bundles can define configuration options that users need to provide:
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
const config = await loadConfig("/path/to/bundle.mcpb", {
|
|
||||||
userConfigValues: {
|
|
||||||
apiKey: "user-provided-key",
|
|
||||||
dataPath: "/path/to/data",
|
|
||||||
},
|
|
||||||
});
|
|
||||||
```
|
|
||||||
|
|
||||||
## Security Considerations
|
|
||||||
|
|
||||||
1. **Extraction Location**: Always extract bundles to a secure, isolated directory
|
|
||||||
2. **Path Validation**: The library includes protection against zip slip attacks
|
|
||||||
3. **Process Isolation**: Run MCP servers in isolated processes with limited permissions
|
|
||||||
4. **Environment Variables**: Be careful about which environment variables are passed to servers
|
|
||||||
5. **Signature Verification**: Consider requiring signed bundles in production
|
|
||||||
|
|
||||||
## API Reference
|
|
||||||
|
|
||||||
See the [TypeScript definitions](src/index.ts) for complete API documentation.
|
|
||||||
|
|
||||||
# Contributing
|
# Contributing
|
||||||
|
|
||||||
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
|
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue