Photo Scout
Find nearby photo spots using real street imagery, visual scores and camera headings.
使うべきか
品質と安全性
B
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
~1,880トークン数(ツール定義)
~10.7 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.47%)
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"photo-scout": {
"url": "https://api.aisoup.net/photo-scout/mcp"
}
}
}リモートエンドポイント
https://api.aisoup.net/photo-scout/mcpstreamable-httpできること
ツール一覧
ツール(2)
🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢list_photo_scout_prices
Show per-search pricing, payment method and limitations. This tool is free.
入力スキーマ
{
"type": "object",
"properties": {}
}出力スキーマ
{
"type": "object",
"properties": {
"priceUsd": {
"type": "string"
},
"network": {
"type": "string"
},
"scope": {
"type": "string"
}
},
"required": [
"priceUsd",
"network",
"scope"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢discover_photo_spots(route, requirements, searchProgram, searchBranches, query, ...)
Find POIs nearby or along a walking/driving route, compare available images, and return ranked photo spots with scores, camera headings, reasons and source links. Costs $2.00 USDC on Base per call.
入力スキーマ
{
"type": "object",
"properties": {
"route": {
"anyOf": [
{
"type": "object",
"properties": {
"origin": {
"anyOf": [
{
"type": "object",
"properties": {
"query": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 200
},
{
"type": "null"
}
]
},
"lat": {
"anyOf": [
{
"type": "number",
"minimum": -85,
"maximum": 85
},
{
"type": "null"
}
]
},
"lon": {
"anyOf": [
{
"type": "number",
"minimum": -180,
"maximum": 180
},
{
"type": "null"
}
]
},
"label": {
"anyOf": [
{
"type": "string",
"maxLength": 350
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"destination": {
"$ref": "#/properties/route/anyOf/0/properties/origin/anyOf/0"
},
"travelMode": {
"type": "string",
"enum": [
"walk",
"drive"
]
},
"corridorMeters": {
"type": "integer",
"minimum": 100,
"maximum": 2000
}
},
"required": [
"destination"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Optional real road route. Default walking, 300 m corridor; up to 200 km. Origin omitted uses lat/lon. Destination accepts address or coordinates. Up to 50 photographic locations along the route."
},
"requirements": {
"type": "array",
"items": {
"type": "object",
"properties": {
"expression": {
"type": "string",
"minLength": 1,
"maxLength": 400
},
"strength": {
"type": "string",
"enum": [
"required",
"preferred",
"forbidden"
]
},
"route": {
"type": "string",
"enum": [
"places",
"geography",
"features",
"visual"
]
},
"stepIds": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 8
}
},
"required": [
"expression",
"strength",
"route",
"stepIds"
],
"additionalProperties": false
},
"maxItems": 16,
"description": "Condition ledger for compiled programs: required, preferred or forbidden; retrieval step IDs scope conditions to each logical branch."
},
"searchProgram": {
"anyOf": [
{
"type": "object",
"properties": {
"steps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,39}$"
},
"tool": {
"type": "string",
"enum": [
"search_places",
"search_geography",
"search_features",
"sample_geography",
"feature_points",
"filter_geography",
"filter_features",
"union",
"intersection",
"area_imagery",
"point_imagery",
"collect_images",
"score_images",
"rank_results"
]
},
"inputs": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 6
},
"queries": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 4
},
"geographicKinds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"lake",
"sea",
"river",
"peak",
"forest",
"waterside"
]
},
"maxItems": 6
},
"osmFeatures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"kind": {
"type": "string",
"enum": [
"tagged",
"intersection"
]
},
"filters": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[A-Za-z0-9_:.-]+$"
},
"value": {
"anyOf": [
{
"type": "string",
"maxLength": 160
},
{
"type": "null"
}
]
},
"required": {
"type": "boolean"
}
},
"required": [
"key"
],
"additionalProperties": false
},
"maxItems": 6
},
"numericFilters": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"pattern": "^[A-Za-z0-9_:.-]+$"
},
"minimum": {
"type": [
"number",
"null"
]
},
"maximum": {
"type": [
"number",
"null"
]
}
},
"required": [
"key"
],
"additionalProperties": false
},
"maxItems": 4
},
"proximityMeters": {
"type": "integer",
"minimum": 0,
"maximum": 500
}
},
"required": [
"label"
],
"additionalProperties": false
},
"maxItems": 6
},
"combination": {
"type": "string",
"enum": [
"all",
"any"
]
},
"exclude": {
"type": "boolean"
},
"discoveryHints": {
"type": "boolean"
},
"weights": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": 4
},
"maxItems": 6
},
"visualIntent": {
"type": "string",
"maxLength": 1000
}
},
"required": [
"id",
"tool"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 24
},
"output": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"required": [
"steps",
"output"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Validated data-flow program over search/spatial/set, collect_images, score_images and rank_results tools. Leave all other target/spatial fields empty; global center/radius/styles are shared. Up to 24 steps and 8 source queries."
},
"searchBranches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"poiQueries": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 4
},
"geographicKinds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"lake",
"sea",
"river",
"peak",
"forest",
"waterside"
]
},
"maxItems": 6
},
"geographicCombination": {
"type": "string",
"enum": [
"all",
"any"
]
},
"osmFeatures": {
"type": "array",
"items": {
"$ref": "#/properties/searchProgram/anyOf/0/properties/steps/items/properties/osmFeatures/items"
},
"maxItems": 6
},
"featureCombination": {
"type": "string",
"enum": [
"all",
"any"
]
},
"visualIntent": {
"type": "string",
"maxLength": 1000
}
},
"additionalProperties": false
},
"maxItems": 6,
"description": "OR across independently constrained target groups; AND between target, geography and features inside a group. When set, leave top-level poiQueries/geographicKinds/osmFeatures empty."
},
"query": {
"type": "string",
"maxLength": 1000,
"description": "Natural-language request. Explicit text overrides conflicting structured parameters."
},
"poiQueries": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 4,
"description": "Arbitrary POI categories or business names, e.g. coffee shops."
},
"osmFeatures": {
"type": "array",
"items": {
"$ref": "#/properties/searchProgram/anyOf/0/properties/steps/items/properties/osmFeatures/items"
},
"maxItems": 6,
"description": "OSM physical features and attributes; combined using featureCombination. Tagged features use exact/existence filters; intersections use road topology."
},
"geographicCombination": {
"type": "string",
"enum": [
"all",
"any"
],
"description": "AND/all or OR/any across geographic requirements; default all."
},
"featureCombination": {
"type": "string",
"enum": [
"all",
"any"
],
"description": "AND/all or OR/any across OSM feature requirements; default all."
},
"geographicKinds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"lake",
"sea",
"river",
"peak",
"forest",
"waterside"
]
},
"maxItems": 6,
"description": "Spatial requirements; combination is controlled by geographicCombination."
},
"scoringIntent": {
"type": "string",
"maxLength": 1000,
"description": "Visual subject, style and requirements for matching and scoring."
},
"lat": {
"type": "number",
"minimum": -85,
"maximum": 85,
"description": "Latitude of the search center."
},
"lon": {
"type": "number",
"minimum": -180,
"maximum": 180,
"description": "Longitude of the search center."
},
"radius": {
"type": "integer",
"minimum": 100,
"maximum": 20000,
"description": "Search radius in meters; default 1000."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"description": "Deprecated compatibility field; ignored. All verified matching places are returned."
},
"photoStyles": {
"type": "array",
"items": {
"type": "string",
"enum": [
"nature",
"urban",
"vintage",
"iconic",
"artistic",
"waterside",
"minimal",
"adventure"
]
},
"minItems": 1,
"maxItems": 8,
"description": "Optional desired photo moods."
},
"preferences": {
"type": "string",
"maxLength": 500,
"description": "Additional photography preferences."
}
},
"required": [
"lat",
"lon"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}コミュニティ
エビデンス
最近の観測
検証済みバージョンは記録されていませんツール 2 件