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:
Joan Xie 2025-08-22 13:08:57 -07:00
commit cc7b6cde44
No known key found for this signature in database

109
README.md
View file

@ -124,115 +124,6 @@ bundle.mcpb (ZIP file)
- Include all required shared libraries if dynamic linking used
- 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
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.