Skip to main content
Glama
matteoantoci

Marketstack MCP Server

by matteoantoci

マーケットスタック MCP サーバー

Model Context Protocol(MCP)サーバーは、Marketstackの様々なAPIエンドポイントをMCPツールとして公開し、終値、日中取引、分割、配当、ティッカー、取引所、通貨、タイムゾーン、債券、ETFデータなどの金融データへのアクセスを提供します。このサーバーは、MarketstackデータをMCP対応のエージェントやシステムに統合することを簡素化します。

前提条件

  • Node.js (v18以降を推奨)

  • npm (Node.js に付属)

  • マーケットスタックAPIキー

  • (オプション) MCP 互換クライアントまたはランナー (例: VSCode 拡張機能、CLI)

Related MCP server: CoinMarketCap MCP

設定

  1. リポジトリをクローンするか、プロジェクト ディレクトリにいることを確認します。

  2. 依存関係をインストールします:

    npm install
  3. 構成:

    • https://marketstack.com/から Marketstack API キーを取得します。

    • MCPランナーの設定からMARKETSTACK_API_KEY環境変数を設定してください。これは、MCPクライアントとのシームレスな統合に推奨される方法です。MCPランナー経由で実行する場合は、この目的で.envファイルを使用することは避けてください。

構築と実行

  1. サーバーを構築します。

    npm run build

    これにより、コンパイルされた JavaScript コードを含むbuildディレクトリが作成されます。

  2. サーバーを実行します。

    npm run start

    または直接:

    node build/index.js
  3. MCPランナー経由: MCPクライアントをstdioトランスポートを使用してサーバーを実行するように設定します。MCP設定エントリの例( /path/to/mcp-marketstack実際のパスに調整し、 YOUR_API_KEY_HEREを実際のキーに置き換えます):

    "marketstack": { "transportType": "stdio", "command": "node", "args": [ "/path/to/mcp-marketstack/build/index.js" ], "env": { "MARKETSTACK_API_KEY": "YOUR_API_KEY_HERE" } // ... other optional settings ... }

利用可能なツール

サーバーは、Marketstack API エンドポイントを機能別に分類された個別の MCP ツールとして公開します。

  • 市場データ

  • 参照データ

  • 金融商品

各ツールの詳細な入力スキーマと説明は、イントロスペクションを介してサーバーに接続する MCP エージェントによって自動的に検出されます。

プロジェクト構造

このプロジェクトはモジュール構造に従っています。

. ├── src/ │ ├── index.ts # Server entry point │ ├── marketstackClient.ts # Centralized API client with caching │ ├── cacheConfig.ts # Cache TTL configurations │ └── tools/ │ ├── index.ts # Registers all tool categories │ ├── marketData/ # Market Data tools │ │ └── ... │ ├── referenceData/ # Reference Data tools │ │ └── ... │ ├── financialInstruments/ # Financial Instruments tools │ │ └── ... │ └── wrapToolHandler.ts # Wrapper for tool handlers ├── memory-bank/ # Project documentation │ └── ... ├── package.json # Project dependencies and scripts ├── tsconfig.json # TypeScript configuration ├── eslint.config.js # ESLint configuration ├── .prettierrc # Prettier configuration ├── LICENSE # Project license └── README.md # This file

キャッシング

サーバーは、ツールのレスポンス用にメモリ内のLRU(Least Recently Used)キャッシュを実装しています。これにより、Marketstack APIへの冗長な呼び出しが削減され、パフォーマンスが向上し、レート制限を遵守できます。

  • **メカニズム:**キャッシュには、ツール名と入力パラメータに基づいて応答が保存されます。

  • **設定可能なTTL:**各ツールには、キャッシュデータのTime To Live(TTL)が設定可能で、 src/cacheConfig.tsで定義されています。これにより、各Marketstackエンドポイントから提供されるデータの更新頻度に基づいて、異なるキャッシュ期間を設定できます。

ライセンス

このプロジェクトは、フリーソフトウェア財団が発行するGNU一般公衆利用許諾書(バージョン3、または(オプションで)それ以降のバージョン)に基づいてライセンスされています。詳細はLICENSEファイルをご覧ください。

貢献

貢献を歓迎します!標準的なフォークとプルリクエストのワークフローに従ってください。

サポート

問題や質問がある場合は、GitHub リポジトリで問題を開いてください。

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/matteoantoci/mcp-marketstack'

If you have feedback or need assistance with the MCP directory API, please join our Discord server