@modelfetch/deno
Version:
Deno runtime adapter for MCP servers built with ModelFetch
74 lines (52 loc) • 2.17 kB
Markdown
# `@modelfetch/deno`
[](https://www.npmjs.com/package/@modelfetch/deno)
[](https://jsr.io/@modelfetch/deno)
[](https://www.npmjs.com/package/@modelfetch/deno)
[](https://www.modelfetch.com/docs/runtime/deno)
Run secure MCP servers with Deno.
## Installation
```bash
deno add jsr:@modelfetch/deno
```
## Usage
### Start The Server
```typescript
import handle from "@modelfetch/deno";
import server from "./server.ts"; // Import your McpServer
// Run as a Deno HTTP server
handle(server);
```
### Get Listening Address
```typescript
import handle, { getListeningAddress } from "@modelfetch/deno";
import server from "./server.ts"; // Import your McpServer
// Run as a Deno HTTP server
handle(server, {
onListen: (addr) => {
// Print listening address
console.log(`The MCP server is listening at ${getListeningAddress(addr)}`);
},
});
```
### Specify Custom Port
```typescript
import handle, { getListeningAddress } from "@modelfetch/deno";
import server from "./server.ts"; // Import your McpServer
// Run as a Deno HTTP server
handle(server, {
// Customize server options
port: 8080, // Customize server port
onListen: (addr) => {
// Print listening address
console.log(`The MCP server is listening at ${getListeningAddress(addr)}`);
},
});
```
## API Reference
### `handle(server, options?)`
Starts the MCP server
- **server**: Required [`McpServer`](https://github.com/modelcontextprotocol/typescript-sdk?tab=readme-ov-file#server) instance from [`@modelcontextprotocol/sdk`](https://github.com/modelcontextprotocol/typescript-sdk)
- **options**: Optional [`Deno.ServeOptions`](https://docs.deno.com/api/deno/~/Deno.ServeOptions)
### `getListeningAddress(addr)`
Gets listening address from the server [`Deno.Addr`](https://docs.deno.com/api/deno/~/Deno.Addr)
- **addr**: Required server [`Deno.Addr`](https://docs.deno.com/api/deno/~/Deno.Addr) from the `onListen` callback