D0UGWITHSEISMIC/WITHSEISMIC-MCP について
カスタムツールやプロンプトを構築・ホストする開発者向けの TypeScript MCP サーバーテンプレートです。リモート SSE とローカル stdio に対応し、コンポーネントを自動登録します。
主な機能
- 01リモート SSE とローカル stdio
- 02ツールとプロンプトの自動登録
- 03Zod による入出力検証
- 04TypeScript の型安全性
- 05エラー処理、ログ、メトリクス
活用シーン
- 01AI モデルが呼び出すツールの構築
- 02チーム向け共有 MCP サーバーの運用
- 03SSE によるリモートサーバーのデプロイ
- 04stdio によるローカル開発とテスト
MCP 対応
このテンプレートは MCP サーバーを実装し、カスタムツールとプロンプトをクライアントに公開します。SSE によるリモート接続と stdio 通信に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
D0UGWITHSEISMIC/WITHSEISMIC-MCP

SYSTEMS ONLINE • NEURAL INTERFACE ACTIVE • COMBAT DATA ANALYSIS • TACTICAL OVERLAY ENABLED • PERFORMANCE METRICS NOMINAL
独自の AI ツールやプロンプトをホストするための、本番環境対応の MCP サーバーテンプレートです。リモートにデプロイすることも、ローカルで実行することもできます。インフラストラクチャの煩雑さを気にせず、AI モデルにツールを公開したい開発者向けに構築されています。
://WHO_IS_THIS_FOR?
このテンプレートは、次のような方に最適です。
- AI ツール開発者:AI モデルが操作できる独自のツールを構築してホストできます
- チームと組織:AI アプリケーション用の共有 MCP サーバーをセットアップできます
- 個人開発者:本番環境対応のセットアップで、MCP 開発をすぐに始められます
- API プロバイダー:標準化されたインターフェースを通じて、サービスを AI モデルに公開できます
次のことを行いたい場合に活用できます。
- 🌐 複数のクライアントが接続できるリモート MCP サーバーをホストする
- 🔧 開発やテストのために stdio 経由でローカル実行する
- 🚀 本番環境対応の MCP 実装をデプロイする
- 🛠️ インフラストラクチャを気にせずツールを構築する
このテンプレートには、すぐに始めるために必要なものがすべてそろっています。
://OVERVIEW
MCP サーバーでは、AI モデルにツールを公開する方法を 2 つ利用できます。
-
リモートサーバーモード(SSE):複数のクライアントが接続できるリモートサーバーとしてデプロイします
- 本番環境へのデプロイに最適です
(
pnpm start:sse) - 複数の同時接続に対応しています
- Railway などのプラットフォームに簡単にデプロイできます
- 安全でスケーラブルです
- 本番環境へのデプロイに最適です
(
-
ローカルモード(stdio):開発やテストのためにローカルで実行します (
pnpm start)- ローカル開発に最適です
- stdio による直接通信
- 素早い反復とデバッグが可能です
主な機能:
- ツール:モデルが呼び出せる実行可能な関数
- プロンプト:テンプレートベースのメッセージ生成機能
- 自動検出:コンポーネントを自動的に登録します
- 型安全性:全体を通じて完全な TypeScript サポートを提供します
://WHY_USE_THIS_MCP_SERVER_TEMPLATE?
Model Context Protocol(MCP)はまだ初期段階ですが、明らかなことが 1 つあります。急速な普及には、開発の摩擦をなくすことが不可欠です。この実装は、インフラストラクチャではなく、優れたツールの構築に開発者が集中できるようにすることを唯一の目的として作られています。
INSTANT_DEPLOYMENT
# Option 1: One-Click Deploy
Click the "Deploy on Railway" button above ☝️
# Option 2: Local Setup
pnpm install && pnpm dev
ZERO_FRICTION_DEVELOPMENT
- ボイラープレート不要:ツールを定義してインポートすれば完了です。あとはすべてこちらで処理します。
- 自動登録:ツールとプロンプトは自動的に検出され、登録されます。
- 型安全性:設定不要で TypeScript を完全にサポートします。
BATTLE_TESTED_ARCHITECTURE
- 本番環境対応:信頼性とパフォーマンスを重視して構築されています。
- スケーラブルな設計:シンプルなツールから複雑な AI インタラクションまで対応します。
- エラーへの耐性:堅牢なエラー処理とデバッグ機能を標準で備えています。
DEVELOPER_EXPERIENCE_FIRST
// That's it. This is all you need to create a tool.
export const myTool = new Tool(
{
name: "myTool",
description: "What my tool does",
inputSchema: z.object({ query: z.string() }),
outputSchema: z.object({ result: z.string() }),
},
async (args) => {
// Your logic here
return { result: "Done!" };
},
);
こちらで処理する内容:
- ⚡ 接続管理
- 🔄 ツール登録
- 🛡️ 入力検証
- 📦 状態管理
- 🚨 エラー処理
- 📊 ロギングとメトリクス
次のことに集中できます。
- 🎯 優れたツールの構築
- 🧠 高機能なプロンプトの作成
- 🚀 機能のリリース
://GETTING_STARTED
INSTALLATION
pnpm install
RUNNING_THE_SERVER
2 つのモードを利用できます。
- 標準モード(stdio):
pnpm dev # Development with hot reload
pnpm start # Production
- SSE(Server-Sent Events)モード:
pnpm dev:sse # Development with hot reload
pnpm start:sse # Production
SSE モードで実行している場合は、http://localhost:3001/sse に接続します。
://CORE_CONCEPTS
ツール
ツールは、モデルが呼び出せる実行可能な関数です。各ツールは以下の特徴を備えています。
- Zod を使用して入力/出力スキーマを定義します
- レジストリに自動的に登録されます
- あらゆる操作(計算、ファイル I/O、API 呼び出しなど)を実行できます
ツールの例:
import { z } from "zod";
import { Tool } from "../core";
const MyToolInputSchema = z.object({
param1: z.string().describe("Parameter description"),
});
const MyToolOutputSchema = z.object({
result: z.string().describe("Result description"),
});
export const myTool = new Tool(
{
name: "myTool",
description: "What my tool does",
inputSchema: MyToolInputSchema,
outputSchema: MyToolOutputSchema,
},
async (args) => {
const input = MyToolInputSchema.parse(args);
// Tool logic here
return { result: "processed result" };
},
);
プロンプト
プロンプトは、モデルとのやり取りを構成するメッセージ生成器です。各プロンプトは以下の特徴を備えています。
- 引数スキーマを定義します
- 一貫した形式でメッセージを生成します
- レジストリに自動的に登録されます
プロンプトの例:
import { Prompt } from "../core";
export const myPrompt = new Prompt(
{
name: "myPrompt",
description: "What my prompt does",
arguments: [
{
name: "arg1",
description: "Argument description",
required: true,
},
],
},
async (args) => {
return [
{
role: "system",
content: {
type: "text",
text: `Generated message using ${args.arg1}`,
},
},
];
},
);
://ADDING_NEW_COMPONENTS
新しいツールの作成
src/modules/tools/に新しいファイルを作成します- Zod を使用して入力/出力スキーマを定義します
- ツールインスタンスを作成してエクスポートします
src/modules/tools/index.tsにエクスポートを追加します
レジストリは自動的に以下を行います。
- ツールを登録します
- モデルが利用できるようにします
- 検証とエラー処理を行います
新しいプロンプトの作成
src/modules/prompts/に新しいファイルを作成します- 引数スキーマを定義します
- プロンプトインスタンスを作成してエクスポートします
src/modules/prompts/index.tsにエクスポートを追加します
レジストリは自動的に以下を行います。
- プロンプトを登録します
- モデルが利用できるようにします
- メッセージの生成とエラー処理を行います
アーキテクチャ
コアコンポーネント
- レジストリ:すべてのツールとプロンプトを一元管理します
- ツール:実行可能な関数の基底クラスです
- プロンプト:メッセージ生成器の基底クラスです
- サーバー:MCP プロトコルの実装です
自動登録
このシステムでは、シングルトンのレジストリパターンを使用して、以下を実現します。
- インポート時にツールとプロンプトを自動的に登録します
- 型安全な方法でコンポーネントにアクセスできます
- すべての MCP プロトコルとのやり取りを処理します
エラー処理
このシステムには、堅牢なエラー処理が備わっています。
- Zod スキーマによる型検証
- 実行エラーのラップ
- デバッグ用の詳細なエラーメッセージ
開発
型安全性
すべてのコンポーネントで TypeScript を使用し、完全な型安全性を確保しています。
- Zod を使用して入力/出力スキーマを定義します
- ツールの引数と結果の型を推論します
- 包括的なエラー型を用意しています
テスト
次のコマンドでテストを実行します。
pnpm test
ベストプラクティス
- 入力/出力スキーマを常に明確に定義します
- 説明的な名前とドキュメントを使用します
- エラーを適切に処理します
- コードベースの TypeScript ガイドラインに従います
://CONTRIBUTING
NEURAL INTERFACE DETECTED • INITIATING COLLABORATION PROTOCOLS • READY FOR UPLINK
皆さまからの貢献をお待ちしています。詳細については、貢献ガイドをご覧ください。
- 開発ワークフロー
- コードスタイルのガイドライン
- プルリクエストの手順
- イシューの報告
Discord コミュニティに参加して、他のコントリビューターと交流しましょう。
://SUPPORT
SUPPORT PROTOCOLS ACTIVE • COMMUNICATION CHANNELS OPEN • READY TO ASSIST
- 📫 メール:[email protected]
- 💬 Discord:サーバーに参加
://LICENSE
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細については、LICENSE ファイルをご覧ください。
© 2025 Doug(WithSeismic dot com)。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。