🚀 MCP Webpage Timestamps
このツールは、ウェブページの作成、修正、公開のタイムスタンプを抽出するための強力なモデルコンテキストプロトコル (MCP)サーバーです。ウェブスクレイピングやウェブコンテンツの時間的分析に最適です。

🚀 クイックスタート
このツールを使えば、ウェブページからタイムスタンプを簡単に抽出できます。以下の手順に沿ってインストールし、使用してください。
✨ 主な機能
- 包括的なタイムスタンプ抽出:ウェブページから作成、修正、公開のタイムスタンプを抽出します。
- 複数のデータソース:HTMLメタタグ、HTTPヘッダー、JSON-LD、マイクロデータ、OpenGraph、Twitterカード、およびヒューリスティック分析をサポートします。
- 信頼度スコアリング:抽出されたタイムスタンプに対して信頼度レベル(高/中/低)を提供します。
- バッチ処理:複数のURLから同時にタイムスタンプを抽出できます。
- 設定可能:タイムアウト、ユーザーエージェント、リダイレクト処理、およびヒューリスティックオプションをカスタマイズできます。
- 本番環境対応:堅牢なエラーハンドリング、包括的なロギング、およびTypeScriptサポートが備わっています。
📦 インストール
クイックインストール
npm install -g mcp-webpage-timestamps
npxを使用したインストール
npx mcp-webpage-timestamps
Smitheryを使用したインストール
Smitheryを介してClaude Desktop用にmcp-webpage-timestampsを自動的にインストールするには、以下のコマンドを実行します。
npx -y @smithery/cli install @Fabien-desablens/mcp-webpage-timestamps --client claude
前提条件
- Node.js 18.0.0以上
- npmまたはyarn
開発用インストール
git clone https://github.com/Fabien-desablens/mcp-webpage-timestamps.git
cd mcp-webpage-timestamps
npm install
npm run build
💻 使用例
基本的な使用法
MCPサーバーとしての使用
このサーバーは、MCP互換のクライアントと共に使用できます。以下は設定方法の例です。
Claude Desktopの設定
claude_desktop_config.jsonに以下の内容を追加します。
{
"mcpServers": {
"webpage-timestamps": {
"command": "npx",
"args": ["mcp-webpage-timestamps"],
"env": {}
}
}
}
クライアントの設定
MCP設定に以下の内容を追加します。
{
"mcpServers": {
"webpage-timestamps": {
"command": "npx",
"args": ["mcp-webpage-timestamps"]
}
}
}
直接使用する場合
npm start
npm run dev
高度な使用法
extract_timestamps関数の使用
{
"name": "extract_timestamps",
"arguments": {
"url": "https://example.com/article",
"config": {
"timeout": 15000,
"enableHeuristics": true
}
}
}
このコードは、指定されたURLのウェブページからタイムスタンプを抽出します。設定オプションを指定することで、抽出の挙動をカスタマイズできます。
batch_extract_timestamps関数の使用
{
"name": "batch_extract_timestamps",
"arguments": {
"urls": [
"https://example.com/article1",
"https://example.com/article2",
"https://example.com/article3"
],
"config": {
"timeout": 10000
}
}
}
このコードは、複数のURLのウェブページから同時にタイムスタンプを抽出します。
📚 ドキュメント
APIリファレンス
ツール
extract_timestamps
単一のウェブページからタイムスタンプを抽出します。
パラメーター:
url (文字列、必須):タイムスタンプを抽出するウェブページのURL
config (オブジェクト、オプション):設定オプション
設定オプション:
timeout (数値):リクエストのタイムアウト時間(ミリ秒)(デフォルト: 10000)
userAgent (文字列):リクエストのユーザーエージェント文字列
followRedirects (ブール値):HTTPリダイレクトを追跡するかどうか(デフォルト: true)
maxRedirects (数値):追跡する最大リダイレクト数(デフォルト: 5)
enableHeuristics (ブール値):ヒューリスティックなタイムスタンプ検出を有効にするかどうか(デフォルト: true)
例:
{
"name": "extract_timestamps",
"arguments": {
"url": "https://example.com/article",
"config": {
"timeout": 15000,
"enableHeuristics": true
}
}
}
batch_extract_timestamps
複数のウェブページからバッチでタイムスタンプを抽出します。
パラメーター:
urls (文字列の配列、必須):タイムスタンプを抽出するURLの配列
config (オブジェクト、オプション):extract_timestampsと同じ設定オプション
例:
{
"name": "batch_extract_timestamps",
"arguments": {
"urls": [
"https://example.com/article1",
"https://example.com/article2",
"https://example.com/article3"
],
"config": {
"timeout": 10000
}
}
}
レスポンス形式
両方のツールは、以下の構造のJSONオブジェクトを返します。
{
url: string;
createdAt?: Date;
modifiedAt?: Date;
publishedAt?: Date;
sources: TimestampSource[];
confidence: 'high' | 'medium' | 'low';
errors?: string[];
}
TimestampSource:
{
type: 'html-meta' | 'http-header' | 'json-ld' | 'microdata' | 'opengraph' | 'twitter' | 'heuristic';
field: string;
value: string;
confidence: 'high' | 'medium' | 'low';
}
サポートされるタイムスタンプソース
HTMLメタタグ
article:published_time
article:modified_time
date
pubdate
publishdate
last-modified
dc.date.created
dc.date.modified
dcterms.created
dcterms.modified
HTTPヘッダー
JSON-LD構造化データ
datePublished
dateModified
dateCreated
マイクロデータ
datePublished
dateModified
OpenGraph
og:article:published_time
og:article:modified_time
og:updated_time
Twitterカード
ヒューリスティック分析
datetime属性を持つ時間要素
- テキスト内の一般的な日付パターン
- 日付関連のCSSクラス
🔧 技術詳細
開発用スクリプト
npm run dev
npm run build
npm test
npm run test:watch
npm run lint
npm run lint:fix
npm run format
テスト
このプロジェクトには包括的なテストが含まれています。
npm test
npm test -- --coverage
npm test -- extractor.test.ts
コード品質
- TypeScript:厳格な型チェックを備えた完全なTypeScriptサポート
- ESLint:推奨ルールによるコードリント
- Prettier:コードフォーマット
- Jest:単体テストと統合テスト
- 95%以上のテストカバレッジ:包括的なテストスイート
📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。詳細についてはLICENSEファイルを参照してください。
サポート
変更履歴
詳細な変更履歴についてはCHANGELOG.mdを参照してください。
謝辞