Install TypeScript SDK from registry
This commit is contained in:
parent
b4c70edb78
commit
82f3d99639
95 changed files with 66 additions and 19056 deletions
|
|
@ -10,6 +10,7 @@
|
||||||
"preview": "vite preview"
|
"preview": "vite preview"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@modelcontextprotocol/sdk": "*",
|
||||||
"@radix-ui/react-icons": "^1.3.0",
|
"@radix-ui/react-icons": "^1.3.0",
|
||||||
"@radix-ui/react-label": "^2.1.0",
|
"@radix-ui/react-label": "^2.1.0",
|
||||||
"@radix-ui/react-select": "^2.1.2",
|
"@radix-ui/react-select": "^2.1.2",
|
||||||
|
|
@ -18,7 +19,6 @@
|
||||||
"class-variance-authority": "^0.7.0",
|
"class-variance-authority": "^0.7.0",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"lucide-react": "^0.447.0",
|
"lucide-react": "^0.447.0",
|
||||||
"mcp-typescript": "file:../packages/mcp-typescript",
|
|
||||||
"react": "^18.3.1",
|
"react": "^18.3.1",
|
||||||
"react-dom": "^18.3.1",
|
"react-dom": "^18.3.1",
|
||||||
"tailwind-merge": "^2.5.3",
|
"tailwind-merge": "^2.5.3",
|
||||||
|
|
|
||||||
|
|
@ -1,32 +1,5 @@
|
||||||
import { Client } from "mcp-typescript/client/index.js";
|
|
||||||
import { SSEClientTransport } from "mcp-typescript/client/sse.js";
|
|
||||||
import {
|
|
||||||
ListResourcesResultSchema,
|
|
||||||
GetPromptResultSchema,
|
|
||||||
ListToolsResultSchema,
|
|
||||||
ReadResourceResultSchema,
|
|
||||||
CallToolResultSchema,
|
|
||||||
ListPromptsResultSchema,
|
|
||||||
Resource,
|
|
||||||
Tool,
|
|
||||||
ClientRequest,
|
|
||||||
ProgressNotificationSchema,
|
|
||||||
ServerNotification,
|
|
||||||
EmptyResultSchema,
|
|
||||||
} from "mcp-typescript/types.js";
|
|
||||||
import { useState, useRef, useEffect } from "react";
|
|
||||||
import {
|
|
||||||
Send,
|
|
||||||
Terminal,
|
|
||||||
Files,
|
|
||||||
Bell,
|
|
||||||
MessageSquare,
|
|
||||||
Hammer,
|
|
||||||
Play,
|
|
||||||
} from "lucide-react";
|
|
||||||
import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";
|
|
||||||
import { Input } from "@/components/ui/input";
|
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
|
import { Input } from "@/components/ui/input";
|
||||||
import {
|
import {
|
||||||
Select,
|
Select,
|
||||||
SelectContent,
|
SelectContent,
|
||||||
|
|
@ -34,17 +7,44 @@ import {
|
||||||
SelectTrigger,
|
SelectTrigger,
|
||||||
SelectValue,
|
SelectValue,
|
||||||
} from "@/components/ui/select";
|
} from "@/components/ui/select";
|
||||||
|
import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";
|
||||||
|
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
||||||
|
import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";
|
||||||
|
import {
|
||||||
|
CallToolResultSchema,
|
||||||
|
ClientRequest,
|
||||||
|
EmptyResultSchema,
|
||||||
|
GetPromptResultSchema,
|
||||||
|
ListPromptsResultSchema,
|
||||||
|
ListResourcesResultSchema,
|
||||||
|
ListToolsResultSchema,
|
||||||
|
ProgressNotificationSchema,
|
||||||
|
ReadResourceResultSchema,
|
||||||
|
Resource,
|
||||||
|
ServerNotification,
|
||||||
|
Tool,
|
||||||
|
} from "@modelcontextprotocol/sdk/types.js";
|
||||||
|
import {
|
||||||
|
Bell,
|
||||||
|
Files,
|
||||||
|
Hammer,
|
||||||
|
MessageSquare,
|
||||||
|
Play,
|
||||||
|
Send,
|
||||||
|
Terminal,
|
||||||
|
} from "lucide-react";
|
||||||
|
import { useEffect, useRef, useState } from "react";
|
||||||
|
|
||||||
|
import { AnyZodObject } from "zod";
|
||||||
|
import "./App.css";
|
||||||
import ConsoleTab from "./components/ConsoleTab";
|
import ConsoleTab from "./components/ConsoleTab";
|
||||||
import Sidebar from "./components/Sidebar";
|
import HistoryAndNotifications from "./components/History";
|
||||||
|
import PingTab from "./components/PingTab";
|
||||||
|
import PromptsTab, { Prompt } from "./components/PromptsTab";
|
||||||
import RequestsTab from "./components/RequestsTabs";
|
import RequestsTab from "./components/RequestsTabs";
|
||||||
import ResourcesTab from "./components/ResourcesTab";
|
import ResourcesTab from "./components/ResourcesTab";
|
||||||
import PromptsTab, { Prompt } from "./components/PromptsTab";
|
import Sidebar from "./components/Sidebar";
|
||||||
import ToolsTab from "./components/ToolsTab";
|
import ToolsTab from "./components/ToolsTab";
|
||||||
import { AnyZodObject } from "zod";
|
|
||||||
import HistoryAndNotifications from "./components/History";
|
|
||||||
import "./App.css";
|
|
||||||
import PingTab from "./components/PingTab";
|
|
||||||
|
|
||||||
const App = () => {
|
const App = () => {
|
||||||
const [connectionStatus, setConnectionStatus] = useState<
|
const [connectionStatus, setConnectionStatus] = useState<
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { useState } from "react";
|
import { ServerNotification } from "@modelcontextprotocol/sdk/types.js";
|
||||||
import { Copy } from "lucide-react";
|
import { Copy } from "lucide-react";
|
||||||
import { ServerNotification } from "mcp-typescript/types.js";
|
import { useState } from "react";
|
||||||
|
|
||||||
const HistoryAndNotifications = ({
|
const HistoryAndNotifications = ({
|
||||||
requestHistory,
|
requestHistory,
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
import { AlertCircle } from "lucide-react";
|
|
||||||
import { Button } from "@/components/ui/button";
|
|
||||||
import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert";
|
import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert";
|
||||||
import { TabsContent } from "@/components/ui/tabs";
|
import { Button } from "@/components/ui/button";
|
||||||
import { Input } from "@/components/ui/input";
|
import { Input } from "@/components/ui/input";
|
||||||
import { Textarea } from "@/components/ui/textarea";
|
|
||||||
import { useState } from "react";
|
|
||||||
import { Label } from "@/components/ui/label";
|
import { Label } from "@/components/ui/label";
|
||||||
|
import { TabsContent } from "@/components/ui/tabs";
|
||||||
|
import { Textarea } from "@/components/ui/textarea";
|
||||||
|
import { ListPromptsResult } from "@modelcontextprotocol/sdk/types.js";
|
||||||
|
import { AlertCircle } from "lucide-react";
|
||||||
|
import { useState } from "react";
|
||||||
import ListPane from "./ListPane";
|
import ListPane from "./ListPane";
|
||||||
import { ListPromptsResult } from "mcp-typescript/types.js";
|
|
||||||
|
|
||||||
export type Prompt = {
|
export type Prompt = {
|
||||||
name: string;
|
name: string;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
import { FileText, ChevronRight, AlertCircle, RefreshCw } from "lucide-react";
|
|
||||||
import { Button } from "@/components/ui/button";
|
|
||||||
import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert";
|
import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert";
|
||||||
|
import { Button } from "@/components/ui/button";
|
||||||
import { TabsContent } from "@/components/ui/tabs";
|
import { TabsContent } from "@/components/ui/tabs";
|
||||||
import { ListResourcesResult, Resource } from "mcp-typescript/types.js";
|
import { ListResourcesResult, Resource } from "@modelcontextprotocol/sdk/types.js";
|
||||||
|
import { AlertCircle, ChevronRight, FileText, RefreshCw } from "lucide-react";
|
||||||
import ListPane from "./ListPane";
|
import ListPane from "./ListPane";
|
||||||
|
|
||||||
const ResourcesTab = ({
|
const ResourcesTab = ({
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
import { TabsContent } from "@/components/ui/tabs";
|
import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert";
|
||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { Input } from "@/components/ui/input";
|
import { Input } from "@/components/ui/input";
|
||||||
import { Send, AlertCircle } from "lucide-react";
|
|
||||||
import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert";
|
|
||||||
import { ListToolsResult, Tool } from "mcp-typescript/types.js";
|
|
||||||
import { useState } from "react";
|
|
||||||
import { Label } from "@/components/ui/label";
|
import { Label } from "@/components/ui/label";
|
||||||
|
import { TabsContent } from "@/components/ui/tabs";
|
||||||
|
import { ListToolsResult, Tool } from "@modelcontextprotocol/sdk/types.js";
|
||||||
|
import { AlertCircle, Send } from "lucide-react";
|
||||||
|
import { useState } from "react";
|
||||||
import ListPane from "./ListPane";
|
import ListPane from "./ListPane";
|
||||||
|
|
||||||
const ToolsTab = ({
|
const ToolsTab = ({
|
||||||
|
|
|
||||||
11
package.json
11
package.json
|
|
@ -3,7 +3,10 @@
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"workspaces": ["client", "server"],
|
"workspaces": [
|
||||||
|
"client",
|
||||||
|
"server"
|
||||||
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "concurrently \"cd client && yarn dev\" \"cd server && yarn dev\"",
|
"dev": "concurrently \"cd client && yarn dev\" \"cd server && yarn dev\"",
|
||||||
"build-server": "cd server && yarn build",
|
"build-server": "cd server && yarn build",
|
||||||
|
|
@ -12,11 +15,7 @@
|
||||||
"start-server": "cd server && yarn start",
|
"start-server": "cd server && yarn start",
|
||||||
"start-client": "cd client && yarn preview",
|
"start-client": "cd client && yarn preview",
|
||||||
"start": "concurrently \"yarn start-server\" \"yarn start-client\"",
|
"start": "concurrently \"yarn start-server\" \"yarn start-client\"",
|
||||||
"prettier-fix": "prettier --write .",
|
"prettier-fix": "prettier --write ."
|
||||||
"update:mcp": "git subtree pull --prefix=packages/mcp-typescript https://github.com/modelcontextprotocol/typescript-sdk.git main --squash"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"mcp-typescript": "file:packages/mcp-typescript"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"concurrently": "^9.0.1",
|
"concurrently": "^9.0.1",
|
||||||
|
|
|
||||||
1
packages/mcp-typescript/.gitattributes
generated
vendored
1
packages/mcp-typescript/.gitattributes
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
dist/**/* linguist-generated=true
|
|
||||||
26
packages/mcp-typescript/.github/workflows/main.yml
generated
vendored
26
packages/mcp-typescript/.github/workflows/main.yml
generated
vendored
|
|
@ -1,26 +0,0 @@
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: 18
|
|
||||||
cache: yarn
|
|
||||||
|
|
||||||
- run: yarn install --immutable
|
|
||||||
- run: yarn build
|
|
||||||
|
|
||||||
- name: Verify that `yarn build` did not change outputs
|
|
||||||
run: git diff --exit-code
|
|
||||||
|
|
||||||
- run: yarn test
|
|
||||||
- run: yarn lint
|
|
||||||
131
packages/mcp-typescript/.gitignore
generated
vendored
131
packages/mcp-typescript/.gitignore
generated
vendored
|
|
@ -1,131 +0,0 @@
|
||||||
# Logs
|
|
||||||
logs
|
|
||||||
*.log
|
|
||||||
npm-debug.log*
|
|
||||||
yarn-debug.log*
|
|
||||||
yarn-error.log*
|
|
||||||
lerna-debug.log*
|
|
||||||
.pnpm-debug.log*
|
|
||||||
|
|
||||||
# Diagnostic reports (https://nodejs.org/api/report.html)
|
|
||||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
|
||||||
|
|
||||||
# Runtime data
|
|
||||||
pids
|
|
||||||
*.pid
|
|
||||||
*.seed
|
|
||||||
*.pid.lock
|
|
||||||
|
|
||||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
|
||||||
lib-cov
|
|
||||||
|
|
||||||
# Coverage directory used by tools like istanbul
|
|
||||||
coverage
|
|
||||||
*.lcov
|
|
||||||
|
|
||||||
# nyc test coverage
|
|
||||||
.nyc_output
|
|
||||||
|
|
||||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
|
||||||
.grunt
|
|
||||||
|
|
||||||
# Bower dependency directory (https://bower.io/)
|
|
||||||
bower_components
|
|
||||||
|
|
||||||
# node-waf configuration
|
|
||||||
.lock-wscript
|
|
||||||
|
|
||||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
|
||||||
build/Release
|
|
||||||
|
|
||||||
# Dependency directories
|
|
||||||
node_modules/
|
|
||||||
jspm_packages/
|
|
||||||
|
|
||||||
# Snowpack dependency directory (https://snowpack.dev/)
|
|
||||||
web_modules/
|
|
||||||
|
|
||||||
# TypeScript cache
|
|
||||||
*.tsbuildinfo
|
|
||||||
|
|
||||||
# Optional npm cache directory
|
|
||||||
.npm
|
|
||||||
|
|
||||||
# Optional eslint cache
|
|
||||||
.eslintcache
|
|
||||||
|
|
||||||
# Optional stylelint cache
|
|
||||||
.stylelintcache
|
|
||||||
|
|
||||||
# Microbundle cache
|
|
||||||
.rpt2_cache/
|
|
||||||
.rts2_cache_cjs/
|
|
||||||
.rts2_cache_es/
|
|
||||||
.rts2_cache_umd/
|
|
||||||
|
|
||||||
# Optional REPL history
|
|
||||||
.node_repl_history
|
|
||||||
|
|
||||||
# Output of 'npm pack'
|
|
||||||
*.tgz
|
|
||||||
|
|
||||||
# Yarn Integrity file
|
|
||||||
.yarn-integrity
|
|
||||||
|
|
||||||
# dotenv environment variable files
|
|
||||||
.env
|
|
||||||
.env.development.local
|
|
||||||
.env.test.local
|
|
||||||
.env.production.local
|
|
||||||
.env.local
|
|
||||||
|
|
||||||
# parcel-bundler cache (https://parceljs.org/)
|
|
||||||
.cache
|
|
||||||
.parcel-cache
|
|
||||||
|
|
||||||
# Next.js build output
|
|
||||||
.next
|
|
||||||
out
|
|
||||||
|
|
||||||
# Nuxt.js build / generate output
|
|
||||||
.nuxt
|
|
||||||
|
|
||||||
# Gatsby files
|
|
||||||
.cache/
|
|
||||||
# Comment in the public line in if your project uses Gatsby and not Next.js
|
|
||||||
# https://nextjs.org/blog/next-9-1#public-directory-support
|
|
||||||
# public
|
|
||||||
|
|
||||||
# vuepress build output
|
|
||||||
.vuepress/dist
|
|
||||||
|
|
||||||
# vuepress v2.x temp and cache directory
|
|
||||||
.temp
|
|
||||||
.cache
|
|
||||||
|
|
||||||
# Docusaurus cache and generated files
|
|
||||||
.docusaurus
|
|
||||||
|
|
||||||
# Serverless directories
|
|
||||||
.serverless/
|
|
||||||
|
|
||||||
# FuseBox cache
|
|
||||||
.fusebox/
|
|
||||||
|
|
||||||
# DynamoDB Local files
|
|
||||||
.dynamodb/
|
|
||||||
|
|
||||||
# TernJS port file
|
|
||||||
.tern-port
|
|
||||||
|
|
||||||
# Stores VSCode versions used for testing VSCode extensions
|
|
||||||
.vscode-test
|
|
||||||
|
|
||||||
# yarn v2
|
|
||||||
.yarn/cache
|
|
||||||
.yarn/unplugged
|
|
||||||
.yarn/build-state.yml
|
|
||||||
.yarn/install-state.gz
|
|
||||||
.pnp.*
|
|
||||||
|
|
||||||
.DS_Store
|
|
||||||
2
packages/mcp-typescript/README.md
generated
2
packages/mcp-typescript/README.md
generated
|
|
@ -1,2 +0,0 @@
|
||||||
# mcp-typescript
|
|
||||||
TypeScript implementation of the Model Context Protocol
|
|
||||||
2
packages/mcp-typescript/dist/cli.d.ts
generated
vendored
2
packages/mcp-typescript/dist/cli.d.ts
generated
vendored
|
|
@ -1,2 +0,0 @@
|
||||||
export {};
|
|
||||||
//# sourceMappingURL=cli.d.ts.map
|
|
||||||
1
packages/mcp-typescript/dist/cli.d.ts.map
generated
vendored
1
packages/mcp-typescript/dist/cli.d.ts.map
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|
|
||||||
114
packages/mcp-typescript/dist/cli.js
generated
vendored
114
packages/mcp-typescript/dist/cli.js
generated
vendored
|
|
@ -1,114 +0,0 @@
|
||||||
import EventSource from "eventsource";
|
|
||||||
import WebSocket from "ws";
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
||||||
global.EventSource = EventSource;
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
||||||
global.WebSocket = WebSocket;
|
|
||||||
import express from "express";
|
|
||||||
import { Client } from "./client/index.js";
|
|
||||||
import { SSEClientTransport } from "./client/sse.js";
|
|
||||||
import { Server } from "./server/index.js";
|
|
||||||
import { SSEServerTransport } from "./server/sse.js";
|
|
||||||
import { WebSocketClientTransport } from "./client/websocket.js";
|
|
||||||
import { StdioClientTransport } from "./client/stdio.js";
|
|
||||||
import { StdioServerTransport } from "./server/stdio.js";
|
|
||||||
async function runClient(url_or_command, args) {
|
|
||||||
const client = new Client({
|
|
||||||
name: "mcp-typescript test client",
|
|
||||||
version: "0.1.0",
|
|
||||||
});
|
|
||||||
let clientTransport;
|
|
||||||
let url = undefined;
|
|
||||||
try {
|
|
||||||
url = new URL(url_or_command);
|
|
||||||
}
|
|
||||||
catch (_a) {
|
|
||||||
// Ignore
|
|
||||||
}
|
|
||||||
if ((url === null || url === void 0 ? void 0 : url.protocol) === "http:" || (url === null || url === void 0 ? void 0 : url.protocol) === "https:") {
|
|
||||||
clientTransport = new SSEClientTransport(new URL(url_or_command));
|
|
||||||
}
|
|
||||||
else if ((url === null || url === void 0 ? void 0 : url.protocol) === "ws:" || (url === null || url === void 0 ? void 0 : url.protocol) === "wss:") {
|
|
||||||
clientTransport = new WebSocketClientTransport(new URL(url_or_command));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
clientTransport = new StdioClientTransport({
|
|
||||||
command: url_or_command,
|
|
||||||
args,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
console.log("Connected to server.");
|
|
||||||
await client.connect(clientTransport);
|
|
||||||
console.log("Initialized.");
|
|
||||||
await client.close();
|
|
||||||
console.log("Closed.");
|
|
||||||
}
|
|
||||||
async function runServer(port) {
|
|
||||||
if (port !== null) {
|
|
||||||
const app = express();
|
|
||||||
let servers = [];
|
|
||||||
app.get("/sse", async (req, res) => {
|
|
||||||
console.log("Got new SSE connection");
|
|
||||||
const transport = new SSEServerTransport("/message", res);
|
|
||||||
const server = new Server({
|
|
||||||
name: "mcp-typescript test server",
|
|
||||||
version: "0.1.0",
|
|
||||||
});
|
|
||||||
servers.push(server);
|
|
||||||
server.onclose = () => {
|
|
||||||
console.log("SSE connection closed");
|
|
||||||
servers = servers.filter((s) => s !== server);
|
|
||||||
};
|
|
||||||
await server.connect(transport);
|
|
||||||
});
|
|
||||||
app.post("/message", async (req, res) => {
|
|
||||||
console.log("Received message");
|
|
||||||
const sessionId = req.query.sessionId;
|
|
||||||
const transport = servers
|
|
||||||
.map((s) => s.transport)
|
|
||||||
.find((t) => t.sessionId === sessionId);
|
|
||||||
if (!transport) {
|
|
||||||
res.status(404).send("Session not found");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
await transport.handlePostMessage(req, res);
|
|
||||||
});
|
|
||||||
app.listen(port, () => {
|
|
||||||
console.log(`Server running on http://localhost:${port}/sse`);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
const server = new Server({
|
|
||||||
name: "mcp-typescript test server",
|
|
||||||
version: "0.1.0",
|
|
||||||
});
|
|
||||||
const transport = new StdioServerTransport();
|
|
||||||
await server.connect(transport);
|
|
||||||
console.log("Server running on stdio");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
const args = process.argv.slice(2);
|
|
||||||
const command = args[0];
|
|
||||||
switch (command) {
|
|
||||||
case "client":
|
|
||||||
if (args.length < 2) {
|
|
||||||
console.error("Usage: client <server_url_or_command> [args...]");
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
runClient(args[1], args.slice(2)).catch((error) => {
|
|
||||||
console.error(error);
|
|
||||||
process.exit(1);
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
case "server": {
|
|
||||||
const port = args[1] ? parseInt(args[1]) : null;
|
|
||||||
runServer(port).catch((error) => {
|
|
||||||
console.error(error);
|
|
||||||
process.exit(1);
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
console.error("Unrecognized command:", command);
|
|
||||||
}
|
|
||||||
//# sourceMappingURL=cli.js.map
|
|
||||||
1
packages/mcp-typescript/dist/cli.js.map
generated
vendored
1
packages/mcp-typescript/dist/cli.js.map
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
||||||
27
packages/mcp-typescript/dist/client/index.d.ts
generated
vendored
27
packages/mcp-typescript/dist/client/index.d.ts
generated
vendored
|
|
@ -1,27 +0,0 @@
|
||||||
import { Protocol } from "../shared/protocol.js";
|
|
||||||
import { Transport } from "../shared/transport.js";
|
|
||||||
import { ClientNotification, ClientRequest, ClientResult, Implementation, ServerCapabilities } from "../types.js";
|
|
||||||
/**
|
|
||||||
* An MCP client on top of a pluggable transport.
|
|
||||||
*
|
|
||||||
* The client will automatically begin the initialization flow with the server when connect() is called.
|
|
||||||
*/
|
|
||||||
export declare class Client extends Protocol<ClientRequest, ClientNotification, ClientResult> {
|
|
||||||
private _clientInfo;
|
|
||||||
private _serverCapabilities?;
|
|
||||||
private _serverVersion?;
|
|
||||||
/**
|
|
||||||
* Initializes this client with the given name and version information.
|
|
||||||
*/
|
|
||||||
constructor(_clientInfo: Implementation);
|
|
||||||
connect(transport: Transport): Promise<void>;
|
|
||||||
/**
|
|
||||||
* After initialization has completed, this will be populated with the server's reported capabilities.
|
|
||||||
*/
|
|
||||||
getServerCapabilities(): ServerCapabilities | undefined;
|
|
||||||
/**
|
|
||||||
* After initialization has completed, this will be populated with information about the server's name and version.
|
|
||||||
*/
|
|
||||||
getServerVersion(): Implementation | undefined;
|
|
||||||
}
|
|
||||||
//# sourceMappingURL=index.d.ts.map
|
|
||||||
1
packages/mcp-typescript/dist/client/index.d.ts.map
generated
vendored
1
packages/mcp-typescript/dist/client/index.d.ts.map
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,cAAc,EAGd,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,qBAAa,MAAO,SAAQ,QAAQ,CAClC,aAAa,EACb,kBAAkB,EAClB,YAAY,CACb;IAOa,OAAO,CAAC,WAAW;IAN/B,OAAO,CAAC,mBAAmB,CAAC,CAAqB;IACjD,OAAO,CAAC,cAAc,CAAC,CAAiB;IAExC;;OAEG;gBACiB,WAAW,EAAE,cAAc;IAIhC,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC3D;;OAEG;IACH,qBAAqB,IAAI,kBAAkB,GAAG,SAAS;IAIvD;;OAEG;IACH,gBAAgB,IAAI,cAAc,GAAG,SAAS;CAG/C"}
|
|
||||||
51
packages/mcp-typescript/dist/client/index.js
generated
vendored
51
packages/mcp-typescript/dist/client/index.js
generated
vendored
|
|
@ -1,51 +0,0 @@
|
||||||
import { Protocol } from "../shared/protocol.js";
|
|
||||||
import { InitializeResultSchema, PROTOCOL_VERSION, } from "../types.js";
|
|
||||||
/**
|
|
||||||
* An MCP client on top of a pluggable transport.
|
|
||||||
*
|
|
||||||
* The client will automatically begin the initialization flow with the server when connect() is called.
|
|
||||||
*/
|
|
||||||
export class Client extends Protocol {
|
|
||||||
/**
|
|
||||||
* Initializes this client with the given name and version information.
|
|
||||||
*/
|
|
||||||
constructor(_clientInfo) {
|
|
||||||
super();
|
|
||||||
this._clientInfo = _clientInfo;
|
|
||||||
}
|
|
||||||
async connect(transport) {
|
|
||||||
await super.connect(transport);
|
|
||||||
const result = await this.request({
|
|
||||||
method: "initialize",
|
|
||||||
params: {
|
|
||||||
protocolVersion: PROTOCOL_VERSION,
|
|
||||||
capabilities: {},
|
|
||||||
clientInfo: this._clientInfo,
|
|
||||||
},
|
|
||||||
}, InitializeResultSchema);
|
|
||||||
if (result === undefined) {
|
|
||||||
throw new Error(`Server sent invalid initialize result: ${result}`);
|
|
||||||
}
|
|
||||||
if (result.protocolVersion !== PROTOCOL_VERSION) {
|
|
||||||
throw new Error(`Server's protocol version is not supported: ${result.protocolVersion}`);
|
|
||||||
}
|
|
||||||
this._serverCapabilities = result.capabilities;
|
|
||||||
this._serverVersion = result.serverInfo;
|
|
||||||
await this.notification({
|
|
||||||
method: "notifications/initialized",
|
|
||||||
});
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* After initialization has completed, this will be populated with the server's reported capabilities.
|
|
||||||
*/
|
|
||||||
getServerCapabilities() {
|
|
||||||
return this._serverCapabilities;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* After initialization has completed, this will be populated with information about the server's name and version.
|
|
||||||
*/
|
|
||||||
getServerVersion() {
|
|
||||||
return this._serverVersion;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//# sourceMappingURL=index.js.map
|
|
||||||
1
packages/mcp-typescript/dist/client/index.js.map
generated
vendored
1
packages/mcp-typescript/dist/client/index.js.map
generated
vendored
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,EAKL,sBAAsB,EACtB,gBAAgB,GAEjB,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,MAAM,OAAO,MAAO,SAAQ,QAI3B;IAIC;;OAEG;IACH,YAAoB,WAA2B;QAC7C,KAAK,EAAE,CAAC;QADU,gBAAW,GAAX,WAAW,CAAgB;IAE/C,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,SAAoB;QACzC,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAC/B;YACE,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE;gBACN,eAAe,EAAE,gBAAgB;gBACjC,YAAY,EAAE,EAAE;gBAChB,UAAU,EAAE,IAAI,CAAC,WAAW;aAC7B;SACF,EACD,sBAAsB,CACvB,CAAC;QAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,KAAK,gBAAgB,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CACb,+CAA+C,MAAM,CAAC,eAAe,EAAE,CACxE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,YAAY,CAAC;QAC/C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC;QAExC,MAAM,IAAI,CAAC,YAAY,CAAC;YACtB,MAAM,EAAE,2BAA2B;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;CACF"}
|
|
||||||
22
packages/mcp-typescript/dist/client/sse.d.ts
generated
vendored
22
packages/mcp-typescript/dist/client/sse.d.ts
generated
vendored
|
|
@ -1,22 +0,0 @@
|
||||||
import { Transport } from "../shared/transport.js";
|
|
||||||
import { JSONRPCMessage } from "../types.js";
|
|
||||||
/**
|
|
||||||
* Client transport for SSE: this will connect to a server using Server-Sent Events for receiving
|
|
||||||
* messages and make separate POST requests for sending messages.
|
|
||||||
*
|
|
||||||
* This uses the EventSource API in browsers. You can install the `eventsource` package for Node.js.
|
|
||||||
*/
|
|
||||||
export declare class SSEClientTransport implements Transport {
|
|
||||||
private _eventSource?;
|
|
||||||
private _endpoint?;
|
|
||||||
private _abortController?;
|
|
||||||
private _url;
|
|
||||||
onclose?: () => void;
|
|
||||||
onerror?: (error: Error) => void;
|
|
||||||
onmessage?: (message: JSONRPCMessage) => void;
|
|
||||||
constructor(url: URL);
|
|
||||||
start(): Promise<void>;
|
|
||||||
close(): Promise<void>;
|
|
||||||
send(message: JSONRPCMessage): Promise<void>;
|
|
||||||
}
|
|
||||||
//# sourceMappingURL=sse.d.ts.map
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue