0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

前回の記事では、Windows環境でTypeScriptを使ってModel Context Protocol(MCP)のDuckDuckGo検索サーバーを実装しました。今回は、このサーバーをnpmパッケージとして公開する過程を紹介します。

なぜnpmパッケージとして公開するのか

MCPサーバーをnpmパッケージとして公開することで、以下のメリットがあります:

  • 他のユーザーが簡単にインストールして使用可能
  • バージョン管理が容易
  • 依存関係の管理が自動化
  • コミュニティへの貢献

パッケージの準備

package.jsonの設定

npmパッケージとして公開するために、package.jsonを以下のように設定しました:

{
  "name": "@sunwood-ai-labs/duckduckgo-web-search",
  "version": "0.1.0",
  "description": "DuckDuckGo Web Search MCP Server - A simple web search implementation using DuckDuckGo API",
  "type": "module",
  "bin": {
    "duckduckgo-web-search": "./build/index.js"
  },
  "files": [
    "build"
  ],
  "scripts": {
    "build": "tsc && node -e \"require('fs').chmodSync('build/index.js', '755')\"",
    "prepare": "npm run build",
    "watch": "tsc --watch",
    "inspector": "npx @modelcontextprotocol/inspector build/index.js"
  },
  "keywords": [
    "mcp",
    "duckduckgo",
    "search",
    "claude",
    "model-context-protocol",
    "sunwood-ai-labs"
  ],
  "author": "Maki",
  "license": "MIT",
  "publishConfig": {
    "access": "public"
  },
  "dependencies": {
    "@modelcontextprotocol/sdk": "0.6.0",
    "node-fetch": "^3.3.0"
  },
  "devDependencies": {
    "@types/node": "^20.11.24",
    "typescript": "^5.3.3"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/Sunwood-ai-labs/duckduckgo-web-search.git"
  },
  "bugs": {
    "url": "https://github.com/Sunwood-ai-labs/duckduckgo-web-search/issues"
  },
  "homepage": "https://github.com/Sunwood-ai-labs/duckduckgo-web-search#readme"
}

主なポイント:

  • スコープ付きパッケージ名(@sunwood-ai-labs/)
  • publicアクセス設定
  • ビルド成果物の配布設定

ファイル構成

パッケージの構成は以下のようになっています:

.
├── build/          # コンパイルされたJavaScript
├── src/
│   └── index.ts    # メインのソースコード
├── package.json
├── tsconfig.json
├── README.md
└── LICENSE

パッケージの公開手順

1. npmへのログイン

npm login --scope=@sunwood-ai-labs

2. ビルドの実行

npm run build

3. パッケージの公開

npm publish --access public

インストール方法

他のユーザーは以下のコマンドでパッケージをインストールできます:

npm install @sunwood-ai-labs/duckduckgo-web-search

パッケージのメンテナンス

バージョン更新手順

  1. package.jsonのバージョン番号を更新
  2. 変更をコミット
  3. npm publishを実行

将来の展望

  • 検索オプションの拡張
  • 多言語対応の強化
  • 検索結果のフィルタリング機能
  • キャッシュ機能の実装

まとめ

MCPサーバーをnpmパッケージとして公開することで、インストールと設定が大幅に簡単になりました。また、バージョン管理や更新の配布も容易になり、よりメンテナンス性の高いプロジェクトとなりました。

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?