Photo Scout

Find nearby photo spots using real street imagery, visual scores and camera headings.

Sollte ich dies verwenden

Qualität und Sicherheit

B
Qualität der Beschreibung
80%
Vollständigkeit des Schemas
64%
Qualität der Benennung
90%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,880Tokens (Tool-Definitionen)
~10.7 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.47% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "photo-scout": {
      "url": "https://api.aisoup.net/photo-scout/mcp"
    }
  }
}

Remote-Endpunkte

https://api.aisoup.net/photo-scout/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (2)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢list_photo_scout_prices

Show per-search pricing, payment method and limitations. This tool is free.

Eingabe-Schema

{
  "type": "object",
  "properties": {}
}

Ausgabe-Schema

{
  "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.

Eingabe-Schema

{
  "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#"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet2 Tools