{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_467jdfb5upfx","handle":"orbit-search-orbit","url":"https://wellknown.network/agents/orbit-search-orbit","links":{"self":"https://wellknown.network/agents/orbit-search-orbit/record.json","html":"https://wellknown.network/agents/orbit-search-orbit","markdown":"https://wellknown.network/agents/orbit-search-orbit/record.md","api":"https://wellknown.network/api/v1/agents/orbit-search-orbit","status":"https://wellknown.network/api/v1/agents/orbit-search-orbit/status","claim":"https://wellknown.network/agents/orbit-search-orbit/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/orbit-search-orbit/claim.json","badge":"https://wellknown.network/agents/orbit-search-orbit/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/orbit-search-orbit/history","tools":"https://wellknown.network/api/v1/agents/orbit-search-orbit/tools"},"ard":{"identifier":"urn:air:api.orbitsearch.com:server:orbit-search-orbit","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Orbit","summary":"The most in-depth, source-backed context about a person for deep personalization and research.","description":"The most in-depth, source-backed context about a person for deep personalization and research.","publisher":{"name":"orbit-search","url":null},"homepage":"https://developer.orbitsearch.com/","repository":"https://github.com/orbit-search/orbit-mcp","version":"2.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.orbitsearch.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://chatgpt.orbitsearch.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-08T21:27:43.469825Z","publishedAt":"2026-09-08T21:27:43.469825Z","registryName":"io.github.orbit-search/orbit"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"derived"},{"slug":"data.vector-search","name":"Vector Search","confidence":0.583,"provenance":"derived"},{"slug":"research.people-companies","name":"People & Company Research","confidence":0.554,"provenance":"derived"},{"slug":"dev.filesystem","name":"Filesystem","confidence":0.54,"provenance":"derived"},{"slug":"ai.agent-discovery","name":"Agent Discovery","confidence":0.54,"provenance":"derived"},{"slug":"knowledge.knowledge-graph","name":"Knowledge Graphs","confidence":0.525,"provenance":"derived"},{"slug":"productivity.calendar","name":"Calendar & Scheduling","confidence":0.51,"provenance":"derived"},{"slug":"communication.notifications","name":"Notifications","confidence":0.51,"provenance":"derived"}],"categories":["ai","communication","data","dev","knowledge","productivity","research","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-10-10T09:24:58.055Z","lastProbedAt":"2026-10-10T09:24:58.055Z","statusComputedAt":"2026-10-10T09:25:58.845Z","reliability30d":{"probes":218,"successRate":1,"p50Ms":242,"basis":"mixed","measures":{"availability":"availability (some checks stopped at authentication)","latency":"response time (mixed)","tools":"partially observed","summary":"Some successful checks reached the service and some stopped at an authentication response; figures combine both."},"checks":{"total":216,"ok":216,"authBoundaryOk":108,"serviceOk":108,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T09:24:58.055Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":236,"error":null,"detail":{"tools":[{"name":"list_directory_organizations","description":"Use this when the user wants to find the user's organizations before choosing a directory. Do not guess organization IDs. Requires an Orbit user connection; org"},{"name":"list_directories","description":"Use this when the user wants to list directories in a selected organization. Requires an Orbit user connection; organization and directory permissions are enfor"},{"name":"get_directory","description":"Use this when the user wants to read a directory and its readiness before changing it. Requires an Orbit user connection; organization and directory permissions"},{"name":"search_directory","description":"Use this when the user wants to search within one directory using natural language. Never fall back to global search if access is denied or the directory is not"},{"name":"check_directory_slug","description":"Use this when the user wants to check if a public directory slug is available. Requires an Orbit user connection; organization and directory permissions are enf"},{"name":"create_directory","description":"Use this when the user wants to create a directory. Confirm the organization, name, and visibility; public makes it discoverable outside the organization. Requi"},{"name":"update_directory","description":"Use this when the user wants to change a directory's details. Read it first and confirm changes, especially public visibility, which publishes it outside the or"},{"name":"archive_directory","description":"Use this when the user wants to archive a directory after confirming the exact target. Orbit's delete route also archives; this does not permanently erase data."},{"name":"list_directory_people","description":"Use this when the user wants to list directory members, optionally filtering by name or source. This is not semantic search. Requires an Orbit user connection; "},{"name":"get_directory_person","description":"Use this when the user wants to read a directory member. Use its returned profile ID with get_profile for deep person research. Requires an Orbit user connectio"},{"name":"count_directory_people","description":"Use this when the user wants to count resolved directory members. Requires an Orbit user connection; organization and directory permissions are enforced by Orbi"},{"name":"list_pending_directory_people","description":"Use this when the user wants to inspect unresolved or processing directory members. Requires an Orbit user connection; organization and directory permissions ar"},{"name":"check_directory_membership","description":"Use this when the user wants to check supplied identities for existing directory membership before import. Requires an Orbit user connection; organization and d"},{"name":"add_directory_person","description":"Use this when the user wants to add a known Orbit profile to a directory. Confirm the directory and profile. Requires an Orbit user connection; organization and"},{"name":"remove_directory_person","description":"Use this when the user wants to remove one directory member after confirming its directory-person ID, not its Orbit profile ID. Requires an Orbit user connectio"},{"name":"remove_directory_people","description":"Use this when the user wants to remove selected directory members after confirming the exact selection. Save the returned removal source for restoration. Requir"},{"name":"restore_directory_people","description":"Use this when the user wants to restore selected removed members or a recorded removal source, within the backend's restoration window. Confirm the exact select"},{"name":"leave_directory","description":"Use this when the user wants to remove the authenticated user's own membership after confirmation. Requires an Orbit user connection; organization and directory"},{"name":"get_directory_readiness","description":"Use this when the user wants to check whether a directory is ready to search. Requires an Orbit user connection; organization and directory permissions are enfo"},{"name":"list_directory_sources","description":"Use this when the user wants to list import sources and recover pending CSV processing where needed. Requires an Orbit user connection; organization and directo"},{"name":"get_directory_source","description":"Use this when the user wants to read a source and recover pending CSV processing where needed. Requires an Orbit user connection; organization and directory per"},{"name":"get_directory_source_status","description":"Use this when the user wants to check import progress and recover pending CSV processing where needed. Queued or importing is not completion. Requires an Orbit "},{"name":"update_directory_source_status","description":"Use this when the user wants to make an explicitly requested administrative source-status correction. Never mark an import completed merely to hide a failure; v"},{"name":"upload_directory_csv","description":"Use this when the user wants to import user-supplied CSV text into a directory. Confirm the target and field mapping. Never invent rows. Limited to 512 KiB; use"},{"name":"infer_directory_csv_mapping","description":"Use this when the user wants to suggest CSV column mapping from user-supplied headers. Review the mapping before upload; this may call an external model. Requir"},{"name":"populate_directory_from_entities","description":"Use this when the user wants to populate a directory from known companies or schools. Confirm IDs, AND/OR criteria and research costs. Never guess entity IDs. P"},{"name":"remove_directory_source_people","description":"Use this when the user wants to remove members contributed by a source after confirming the source and impact. Requires an Orbit user connection; organization a"},{"name":"resync_directory_people","description":"Use this when the user wants to rematerialize selected directory members from existing data, after confirming the selection. This is separate from a research re"},{"name":"refresh_directory_profiles","description":"Use this when the user wants to start a credit-consuming one-time refresh. Confirm selected members or everyone and cost implications; preserve request_id on re"},{"name":"list_directory_refreshes","description":"Use this when the user wants to check one-time refresh progress. Report acceptance separately from completion. Requires an Orbit user connection; organization a"},{"name":"list_directory_grants","description":"Use this when the user wants to inspect directory access grants before sharing or revoking access. Requires an Orbit user connection; organization and directory"},{"name":"grant_directory_access","description":"Use this when the user wants to grant directory permissions only to an existing principal in the same Orbit organization. The backend rejects recipients outside"},{"name":"revoke_directory_access","description":"Use this when the user wants to revoke a specific access grant after confirming the recipient and permissions affected. Requires an Orbit user connection; organ"},{"name":"list_directory_watchers","description":"Use this when the user wants to list watchers for directory members. Requires an Orbit user connection; organization and directory permissions are enforced by O"},{"name":"create_directory_watchers","description":"Use this when the user wants to schedule updates for selected members. Confirm profile IDs, interval, phases, and ongoing organization credit usage. Requires an"},{"name":"update_directory_watcher","description":"Use this when the user wants to change a member's watcher. Confirm schedule, phases, enabled state, and credit implications. Requires an Orbit user connection; "},{"name":"delete_directory_watcher","description":"Use this when the user wants to stop a directory member's watcher after confirming the target. Requires an Orbit user connection; organization and directory per"},{"name":"list_directory_activity","description":"Use this when the user wants to read sourced directory-member updates sorted by event date or discovery date. Requires an Orbit user connection; organization an"},{"name":"auth_status","description":"Check whether the user connected Orbit to this app."},{"name":"disconnect_orbit","description":"Remove a legacy widget connection token. This does not disconnect Google OAuth; use ChatGPT app settings to disconnect an OAuth account."},{"name":"get_credit_usage","description":"Use this when the user asks how many Orbit credits they have or have used. Returns usage for the connected API credential and available/reserved credits for its"},{"name":"search_people","description":"Find or resolve people when an agent needs maximum person context for deep personalization or research. Start an Orbit v3 search from plain English, structured "},{"name":"quote_population_search","description":"Price a search for everyone in one population: every current employee of a company, or everyone who attended a school. Returns the whole cost as one number in c"},{"name":"search_population","description":"Search everyone in one population: every current employee of a company, or everyone who attended a school. Reserves the quoted credits from the connected accoun"},{"name":"get_search_status","description":"Read the latest results and status for a v3 Orbit search, including a population search started with search_population."},{"name":"get_profile","description":"Read an existing source-backed Orbit profile for research or meeting preparation using the connected account's Orbit credits. Accepts an Orbit ID, known alias, "},{"name":"enrich_profile","description":"Start profile research in Orbit using the connected account's Orbit credits. Partial builds a partial profile, full builds a full profile, and regenerate forces"},{"name":"get_enrichment_status","description":"Read the latest status and optional profile for one v3 enrichment request."},{"name":"batch_enrich_profiles","description":"Start profile research for 1 to 20 Orbit profile IDs or slugs using the connected account's Orbit credits. The regenerate operation forces fresh work and can re"},{"name":"create_watcher","description":"Create or re-enable a scheduled profile watcher. Watcher runs consume Orbit credits. Use this only after the user confirms the profile and schedule."},{"name":"list_watchers","description":"List profile watchers for the current Orbit organization."},{"name":"get_watcher","description":"Read one Orbit watcher by ID."},{"name":"update_watcher","description":"Replace the selected settings of an Orbit watcher. This can disable future runs or change their schedule and phases; enabled runs consume Orbit credits."},{"name":"delete_watcher","description":"Permanently delete one Orbit watcher."},{"name":"list_watcher_runs","description":"List the newest runs for one Orbit watcher."},{"name":"create_webhook","description":"Register an HTTPS endpoint to receive Orbit event data outside Orbit. Confirm the destination and event types with the user first. The signing secret is shown o"},{"name":"list_webhooks","description":"List webhook endpoints for the current Orbit organization. Secrets are masked."},{"name":"test_webhook","description":"Send one signed test event to an existing webhook endpoint. The payload can contain the account's most recent real event data, or an example when none exists. C"},{"name":"delete_webhook","description":"Permanently delete one Orbit webhook endpoint."}],"toolCount":59,"toolsHash":"cace0bd594d6b5dfc4956adc510ce850da7f8f6ffe64d3869b3e89c2963df111","serverName":"orbit-chatgpt-app","capabilities":["resources","tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T09:24:12.127Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":207,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://api.orbitsearch.com/.well-known/oauth-protected-resource/mcp\", scope=\"search.read\", error=\"invalid_token\", error_description=\"No access token was provided.\""}},{"at":"2026-10-10T03:26:06.497Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":182,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://api.orbitsearch.com/.well-known/oauth-protected-resource/mcp\", scope=\"search.read\", error=\"invalid_token\", error_description=\"No access token was provided.\""}},{"at":"2026-10-10T02:31:12.758Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":233,"error":null,"detail":{"tools":[{"name":"list_directory_organizations","description":"Use this when the user wants to find the user's organizations before choosing a directory. Do not guess organization IDs. Requires an Orbit user connection; org"},{"name":"list_directories","description":"Use this when the user wants to list directories in a selected organization. Requires an Orbit user connection; organization and directory permissions are enfor"},{"name":"get_directory","description":"Use this when the user wants to read a directory and its readiness before changing it. Requires an Orbit user connection; organization and directory permissions"},{"name":"search_directory","description":"Use this when the user wants to search within one directory using natural language. Never fall back to global search if access is denied or the directory is not"},{"name":"check_directory_slug","description":"Use this when the user wants to check if a public directory slug is available. Requires an Orbit user connection; organization and directory permissions are enf"},{"name":"create_directory","description":"Use this when the user wants to create a directory. Confirm the organization, name, and visibility; public makes it discoverable outside the organization. Requi"},{"name":"update_directory","description":"Use this when the user wants to change a directory's details. Read it first and confirm changes, especially public visibility, which publishes it outside the or"},{"name":"archive_directory","description":"Use this when the user wants to archive a directory after confirming the exact target. Orbit's delete route also archives; this does not permanently erase data."},{"name":"list_directory_people","description":"Use this when the user wants to list directory members, optionally filtering by name or source. This is not semantic search. Requires an Orbit user connection; "},{"name":"get_directory_person","description":"Use this when the user wants to read a directory member. Use its returned profile ID with get_profile for deep person research. Requires an Orbit user connectio"},{"name":"count_directory_people","description":"Use this when the user wants to count resolved directory members. Requires an Orbit user connection; organization and directory permissions are enforced by Orbi"},{"name":"list_pending_directory_people","description":"Use this when the user wants to inspect unresolved or processing directory members. Requires an Orbit user connection; organization and directory permissions ar"},{"name":"check_directory_membership","description":"Use this when the user wants to check supplied identities for existing directory membership before import. Requires an Orbit user connection; organization and d"},{"name":"add_directory_person","description":"Use this when the user wants to add a known Orbit profile to a directory. Confirm the directory and profile. Requires an Orbit user connection; organization and"},{"name":"remove_directory_person","description":"Use this when the user wants to remove one directory member after confirming its directory-person ID, not its Orbit profile ID. Requires an Orbit user connectio"},{"name":"remove_directory_people","description":"Use this when the user wants to remove selected directory members after confirming the exact selection. Save the returned removal source for restoration. Requir"},{"name":"restore_directory_people","description":"Use this when the user wants to restore selected removed members or a recorded removal source, within the backend's restoration window. Confirm the exact select"},{"name":"leave_directory","description":"Use this when the user wants to remove the authenticated user's own membership after confirmation. Requires an Orbit user connection; organization and directory"},{"name":"get_directory_readiness","description":"Use this when the user wants to check whether a directory is ready to search. Requires an Orbit user connection; organization and directory permissions are enfo"},{"name":"list_directory_sources","description":"Use this when the user wants to list import sources and recover pending CSV processing where needed. Requires an Orbit user connection; organization and directo"},{"name":"get_directory_source","description":"Use this when the user wants to read a source and recover pending CSV processing where needed. Requires an Orbit user connection; organization and directory per"},{"name":"get_directory_source_status","description":"Use this when the user wants to check import progress and recover pending CSV processing where needed. Queued or importing is not completion. Requires an Orbit "},{"name":"update_directory_source_status","description":"Use this when the user wants to make an explicitly requested administrative source-status correction. Never mark an import completed merely to hide a failure; v"},{"name":"upload_directory_csv","description":"Use this when the user wants to import user-supplied CSV text into a directory. Confirm the target and field mapping. Never invent rows. Limited to 512 KiB; use"},{"name":"infer_directory_csv_mapping","description":"Use this when the user wants to suggest CSV column mapping from user-supplied headers. Review the mapping before upload; this may call an external model. Requir"},{"name":"populate_directory_from_entities","description":"Use this when the user wants to populate a directory from known companies or schools. Confirm IDs, AND/OR criteria and research costs. Never guess entity IDs. P"},{"name":"remove_directory_source_people","description":"Use this when the user wants to remove members contributed by a source after confirming the source and impact. Requires an Orbit user connection; organization a"},{"name":"resync_directory_people","description":"Use this when the user wants to rematerialize selected directory members from existing data, after confirming the selection. This is separate from a research re"},{"name":"refresh_directory_profiles","description":"Use this when the user wants to start a credit-consuming one-time refresh. Confirm selected members or everyone and cost implications; preserve request_id on re"},{"name":"list_directory_refreshes","description":"Use this when the user wants to check one-time refresh progress. Report acceptance separately from completion. Requires an Orbit user connection; organization a"},{"name":"list_directory_grants","description":"Use this when the user wants to inspect directory access grants before sharing or revoking access. Requires an Orbit user connection; organization and directory"},{"name":"grant_directory_access","description":"Use this when the user wants to grant directory permissions only to an existing principal in the same Orbit organization. The backend rejects recipients outside"},{"name":"revoke_directory_access","description":"Use this when the user wants to revoke a specific access grant after confirming the recipient and permissions affected. Requires an Orbit user connection; organ"},{"name":"list_directory_watchers","description":"Use this when the user wants to list watchers for directory members. Requires an Orbit user connection; organization and directory permissions are enforced by O"},{"name":"create_directory_watchers","description":"Use this when the user wants to schedule updates for selected members. Confirm profile IDs, interval, phases, and ongoing organization credit usage. Requires an"},{"name":"update_directory_watcher","description":"Use this when the user wants to change a member's watcher. Confirm schedule, phases, enabled state, and credit implications. Requires an Orbit user connection; "},{"name":"delete_directory_watcher","description":"Use this when the user wants to stop a directory member's watcher after confirming the target. Requires an Orbit user connection; organization and directory per"},{"name":"list_directory_activity","description":"Use this when the user wants to read sourced directory-member updates sorted by event date or discovery date. Requires an Orbit user connection; organization an"},{"name":"auth_status","description":"Check whether the user connected Orbit to this app."},{"name":"disconnect_orbit","description":"Remove a legacy widget connection token. This does not disconnect Google OAuth; use ChatGPT app settings to disconnect an OAuth account."},{"name":"get_credit_usage","description":"Use this when the user asks how many Orbit credits they have or have used. Returns usage for the connected API credential and available/reserved credits for its"},{"name":"search_people","description":"Find or resolve people when an agent needs maximum person context for deep personalization or research. Start an Orbit v3 search from plain English, structured "},{"name":"quote_population_search","description":"Price a search for everyone in one population: every current employee of a company, or everyone who attended a school. Returns the whole cost as one number in c"},{"name":"search_population","description":"Search everyone in one population: every current employee of a company, or everyone who attended a school. Reserves the quoted credits from the connected accoun"},{"name":"get_search_status","description":"Read the latest results and status for a v3 Orbit search, including a population search started with search_population."},{"name":"get_profile","description":"Read an existing source-backed Orbit profile for research or meeting preparation using the connected account's Orbit credits. Accepts an Orbit ID, known alias, "},{"name":"enrich_profile","description":"Start profile research in Orbit using the connected account's Orbit credits. Partial builds a partial profile, full builds a full profile, and regenerate forces"},{"name":"get_enrichment_status","description":"Read the latest status and optional profile for one v3 enrichment request."},{"name":"batch_enrich_profiles","description":"Start profile research for 1 to 20 Orbit profile IDs or slugs using the connected account's Orbit credits. The regenerate operation forces fresh work and can re"},{"name":"create_watcher","description":"Create or re-enable a scheduled profile watcher. Watcher runs consume Orbit credits. Use this only after the user confirms the profile and schedule."},{"name":"list_watchers","description":"List profile watchers for the current Orbit organization."},{"name":"get_watcher","description":"Read one Orbit watcher by ID."},{"name":"update_watcher","description":"Replace the selected settings of an Orbit watcher. This can disable future runs or change their schedule and phases; enabled runs consume Orbit credits."},{"name":"delete_watcher","description":"Permanently delete one Orbit watcher."},{"name":"list_watcher_runs","description":"List the newest runs for one Orbit watcher."},{"name":"create_webhook","description":"Register an HTTPS endpoint to receive Orbit event data outside Orbit. Confirm the destination and event types with the user first. The signing secret is shown o"},{"name":"list_webhooks","description":"List webhook endpoints for the current Orbit organization. Secrets are masked."},{"name":"test_webhook","description":"Send one signed test event to an existing webhook endpoint. The payload can contain the account's most recent real event data, or an example when none exists. C"},{"name":"delete_webhook","description":"Permanently delete one Orbit webhook endpoint."}],"toolCount":59,"toolsHash":"cace0bd594d6b5dfc4956adc510ce850da7f8f6ffe64d3869b3e89c2963df111","serverName":"orbit-chatgpt-app","capabilities":["resources","tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T20:31:14.041Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":219,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://api.orbitsearch.com/.well-known/oauth-protected-resource/mcp\", scope=\"search.read\", error=\"invalid_token\", error_description=\"No access token was provided.\""}},{"at":"2026-10-09T20:29:49.853Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":251,"error":null,"detail":{"tools":[{"name":"list_directory_organizations","description":"Use this when the user wants to find the user's organizations before choosing a directory. Do not guess organization IDs. Requires an Orbit user connection; org"},{"name":"list_directories","description":"Use this when the user wants to list directories in a selected organization. Requires an Orbit user connection; organization and directory permissions are enfor"},{"name":"get_directory","description":"Use this when the user wants to read a directory and its readiness before changing it. Requires an Orbit user connection; organization and directory permissions"},{"name":"search_directory","description":"Use this when the user wants to search within one directory using natural language. Never fall back to global search if access is denied or the directory is not"},{"name":"check_directory_slug","description":"Use this when the user wants to check if a public directory slug is available. Requires an Orbit user connection; organization and directory permissions are enf"},{"name":"create_directory","description":"Use this when the user wants to create a directory. Confirm the organization, name, and visibility; public makes it discoverable outside the organization. Requi"},{"name":"update_directory","description":"Use this when the user wants to change a directory's details. Read it first and confirm changes, especially public visibility, which publishes it outside the or"},{"name":"archive_directory","description":"Use this when the user wants to archive a directory after confirming the exact target. Orbit's delete route also archives; this does not permanently erase data."},{"name":"list_directory_people","description":"Use this when the user wants to list directory members, optionally filtering by name or source. This is not semantic search. Requires an Orbit user connection; "},{"name":"get_directory_person","description":"Use this when the user wants to read a directory member. Use its returned profile ID with get_profile for deep person research. Requires an Orbit user connectio"},{"name":"count_directory_people","description":"Use this when the user wants to count resolved directory members. Requires an Orbit user connection; organization and directory permissions are enforced by Orbi"},{"name":"list_pending_directory_people","description":"Use this when the user wants to inspect unresolved or processing directory members. Requires an Orbit user connection; organization and directory permissions ar"},{"name":"check_directory_membership","description":"Use this when the user wants to check supplied identities for existing directory membership before import. Requires an Orbit user connection; organization and d"},{"name":"add_directory_person","description":"Use this when the user wants to add a known Orbit profile to a directory. Confirm the directory and profile. Requires an Orbit user connection; organization and"},{"name":"remove_directory_person","description":"Use this when the user wants to remove one directory member after confirming its directory-person ID, not its Orbit profile ID. Requires an Orbit user connectio"},{"name":"remove_directory_people","description":"Use this when the user wants to remove selected directory members after confirming the exact selection. Save the returned removal source for restoration. Requir"},{"name":"restore_directory_people","description":"Use this when the user wants to restore selected removed members or a recorded removal source, within the backend's restoration window. Confirm the exact select"},{"name":"leave_directory","description":"Use this when the user wants to remove the authenticated user's own membership after confirmation. Requires an Orbit user connection; organization and directory"},{"name":"get_directory_readiness","description":"Use this when the user wants to check whether a directory is ready to search. Requires an Orbit user connection; organization and directory permissions are enfo"},{"name":"list_directory_sources","description":"Use this when the user wants to list import sources and recover pending CSV processing where needed. Requires an Orbit user connection; organization and directo"},{"name":"get_directory_source","description":"Use this when the user wants to read a source and recover pending CSV processing where needed. Requires an Orbit user connection; organization and directory per"},{"name":"get_directory_source_status","description":"Use this when the user wants to check import progress and recover pending CSV processing where needed. Queued or importing is not completion. Requires an Orbit "},{"name":"update_directory_source_status","description":"Use this when the user wants to make an explicitly requested administrative source-status correction. Never mark an import completed merely to hide a failure; v"},{"name":"upload_directory_csv","description":"Use this when the user wants to import user-supplied CSV text into a directory. Confirm the target and field mapping. Never invent rows. Limited to 512 KiB; use"},{"name":"infer_directory_csv_mapping","description":"Use this when the user wants to suggest CSV column mapping from user-supplied headers. Review the mapping before upload; this may call an external model. Requir"},{"name":"populate_directory_from_entities","description":"Use this when the user wants to populate a directory from known companies or schools. Confirm IDs, AND/OR criteria and research costs. Never guess entity IDs. P"},{"name":"remove_directory_source_people","description":"Use this when the user wants to remove members contributed by a source after confirming the source and impact. Requires an Orbit user connection; organization a"},{"name":"resync_directory_people","description":"Use this when the user wants to rematerialize selected directory members from existing data, after confirming the selection. This is separate from a research re"},{"name":"refresh_directory_profiles","description":"Use this when the user wants to start a credit-consuming one-time refresh. Confirm selected members or everyone and cost implications; preserve request_id on re"},{"name":"list_directory_refreshes","description":"Use this when the user wants to check one-time refresh progress. Report acceptance separately from completion. Requires an Orbit user connection; organization a"},{"name":"list_directory_grants","description":"Use this when the user wants to inspect directory access grants before sharing or revoking access. Requires an Orbit user connection; organization and directory"},{"name":"grant_directory_access","description":"Use this when the user wants to grant directory permissions only to an existing principal in the same Orbit organization. The backend rejects recipients outside"},{"name":"revoke_directory_access","description":"Use this when the user wants to revoke a specific access grant after confirming the recipient and permissions affected. Requires an Orbit user connection; organ"},{"name":"list_directory_watchers","description":"Use this when the user wants to list watchers for directory members. Requires an Orbit user connection; organization and directory permissions are enforced by O"},{"name":"create_directory_watchers","description":"Use this when the user wants to schedule updates for selected members. Confirm profile IDs, interval, phases, and ongoing organization credit usage. Requires an"},{"name":"update_directory_watcher","description":"Use this when the user wants to change a member's watcher. Confirm schedule, phases, enabled state, and credit implications. Requires an Orbit user connection; "},{"name":"delete_directory_watcher","description":"Use this when the user wants to stop a directory member's watcher after confirming the target. Requires an Orbit user connection; organization and directory per"},{"name":"list_directory_activity","description":"Use this when the user wants to read sourced directory-member updates sorted by event date or discovery date. Requires an Orbit user connection; organization an"},{"name":"auth_status","description":"Check whether the user connected Orbit to this app."},{"name":"disconnect_orbit","description":"Remove a legacy widget connection token. This does not disconnect Google OAuth; use ChatGPT app settings to disconnect an OAuth account."},{"name":"get_credit_usage","description":"Use this when the user asks how many Orbit credits they have or have used. Returns usage for the connected API credential and available/reserved credits for its"},{"name":"search_people","description":"Find or resolve people when an agent needs maximum person context for deep personalization or research. Start an Orbit v3 search from plain English, structured "},{"name":"quote_population_search","description":"Price a search for everyone in one population: every current employee of a company, or everyone who attended a school. Returns the whole cost as one number in c"},{"name":"search_population","description":"Search everyone in one population: every current employee of a company, or everyone who attended a school. Reserves the quoted credits from the connected accoun"},{"name":"get_search_status","description":"Read the latest results and status for a v3 Orbit search, including a population search started with search_population."},{"name":"get_profile","description":"Read an existing source-backed Orbit profile for research or meeting preparation using the connected account's Orbit credits. Accepts an Orbit ID, known alias, "},{"name":"enrich_profile","description":"Start profile research in Orbit using the connected account's Orbit credits. Partial builds a partial profile, full builds a full profile, and regenerate forces"},{"name":"get_enrichment_status","description":"Read the latest status and optional profile for one v3 enrichment request."},{"name":"batch_enrich_profiles","description":"Start profile research for 1 to 20 Orbit profile IDs or slugs using the connected account's Orbit credits. The regenerate operation forces fresh work and can re"},{"name":"create_watcher","description":"Create or re-enable a scheduled profile watcher. Watcher runs consume Orbit credits. Use this only after the user confirms the profile and schedule."},{"name":"list_watchers","description":"List profile watchers for the current Orbit organization."},{"name":"get_watcher","description":"Read one Orbit watcher by ID."},{"name":"update_watcher","description":"Replace the selected settings of an Orbit watcher. This can disable future runs or change their schedule and phases; enabled runs consume Orbit credits."},{"name":"delete_watcher","description":"Permanently delete one Orbit watcher."},{"name":"list_watcher_runs","description":"List the newest runs for one Orbit watcher."},{"name":"create_webhook","description":"Register an HTTPS endpoint to receive Orbit event data outside Orbit. Confirm the destination and event types with the user first. The signing secret is shown o"},{"name":"list_webhooks","description":"List webhook endpoints for the current Orbit organization. Secrets are masked."},{"name":"test_webhook","description":"Send one signed test event to an existing webhook endpoint. The payload can contain the account's most recent real event data, or an example when none exists. C"},{"name":"delete_webhook","description":"Permanently delete one Orbit webhook endpoint."}],"toolCount":59,"toolsHash":"cace0bd594d6b5dfc4956adc510ce850da7f8f6ffe64d3869b3e89c2963df111","serverName":"orbit-chatgpt-app","capabilities":["resources","tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T14:31:13.299Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":303,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://api.orbitsearch.com/.well-known/oauth-protected-resource/mcp\", scope=\"search.read\", error=\"invalid_token\", error_description=\"No access token was provided.\""}},{"at":"2026-10-09T13:29:31.616Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":245,"error":null,"detail":{"tools":[{"name":"list_directory_organizations","description":"Use this when the user wants to find the user's organizations before choosing a directory. Do not guess organization IDs. Requires an Orbit user connection; org"},{"name":"list_directories","description":"Use this when the user wants to list directories in a selected organization. Requires an Orbit user connection; organization and directory permissions are enfor"},{"name":"get_directory","description":"Use this when the user wants to read a directory and its readiness before changing it. Requires an Orbit user connection; organization and directory permissions"},{"name":"search_directory","description":"Use this when the user wants to search within one directory using natural language. Never fall back to global search if access is denied or the directory is not"},{"name":"check_directory_slug","description":"Use this when the user wants to check if a public directory slug is available. Requires an Orbit user connection; organization and directory permissions are enf"},{"name":"create_directory","description":"Use this when the user wants to create a directory. Confirm the organization, name, and visibility; public makes it discoverable outside the organization. Requi"},{"name":"update_directory","description":"Use this when the user wants to change a directory's details. Read it first and confirm changes, especially public visibility, which publishes it outside the or"},{"name":"archive_directory","description":"Use this when the user wants to archive a directory after confirming the exact target. Orbit's delete route also archives; this does not permanently erase data."},{"name":"list_directory_people","description":"Use this when the user wants to list directory members, optionally filtering by name or source. This is not semantic search. Requires an Orbit user connection; "},{"name":"get_directory_person","description":"Use this when the user wants to read a directory member. Use its returned profile ID with get_profile for deep person research. Requires an Orbit user connectio"},{"name":"count_directory_people","description":"Use this when the user wants to count resolved directory members. Requires an Orbit user connection; organization and directory permissions are enforced by Orbi"},{"name":"list_pending_directory_people","description":"Use this when the user wants to inspect unresolved or processing directory members. Requires an Orbit user connection; organization and directory permissions ar"},{"name":"check_directory_membership","description":"Use this when the user wants to check supplied identities for existing directory membership before import. Requires an Orbit user connection; organization and d"},{"name":"add_directory_person","description":"Use this when the user wants to add a known Orbit profile to a directory. Confirm the directory and profile. Requires an Orbit user connection; organization and"},{"name":"remove_directory_person","description":"Use this when the user wants to remove one directory member after confirming its directory-person ID, not its Orbit profile ID. Requires an Orbit user connectio"},{"name":"remove_directory_people","description":"Use this when the user wants to remove selected directory members after confirming the exact selection. Save the returned removal source for restoration. Requir"},{"name":"restore_directory_people","description":"Use this when the user wants to restore selected removed members or a recorded removal source, within the backend's restoration window. Confirm the exact select"},{"name":"leave_directory","description":"Use this when the user wants to remove the authenticated user's own membership after confirmation. Requires an Orbit user connection; organization and directory"},{"name":"get_directory_readiness","description":"Use this when the user wants to check whether a directory is ready to search. Requires an Orbit user connection; organization and directory permissions are enfo"},{"name":"list_directory_sources","description":"Use this when the user wants to list import sources and recover pending CSV processing where needed. Requires an Orbit user connection; organization and directo"},{"name":"get_directory_source","description":"Use this when the user wants to read a source and recover pending CSV processing where needed. Requires an Orbit user connection; organization and directory per"},{"name":"get_directory_source_status","description":"Use this when the user wants to check import progress and recover pending CSV processing where needed. Queued or importing is not completion. Requires an Orbit "},{"name":"update_directory_source_status","description":"Use this when the user wants to make an explicitly requested administrative source-status correction. Never mark an import completed merely to hide a failure; v"},{"name":"upload_directory_csv","description":"Use this when the user wants to import user-supplied CSV text into a directory. Confirm the target and field mapping. Never invent rows. Limited to 512 KiB; use"},{"name":"infer_directory_csv_mapping","description":"Use this when the user wants to suggest CSV column mapping from user-supplied headers. Review the mapping before upload; this may call an external model. Requir"},{"name":"populate_directory_from_entities","description":"Use this when the user wants to populate a directory from known companies or schools. Confirm IDs, AND/OR criteria and research costs. Never guess entity IDs. P"},{"name":"remove_directory_source_people","description":"Use this when the user wants to remove members contributed by a source after confirming the source and impact. Requires an Orbit user connection; organization a"},{"name":"resync_directory_people","description":"Use this when the user wants to rematerialize selected directory members from existing data, after confirming the selection. This is separate from a research re"},{"name":"refresh_directory_profiles","description":"Use this when the user wants to start a credit-consuming one-time refresh. Confirm selected members or everyone and cost implications; preserve request_id on re"},{"name":"list_directory_refreshes","description":"Use this when the user wants to check one-time refresh progress. Report acceptance separately from completion. Requires an Orbit user connection; organization a"},{"name":"list_directory_grants","description":"Use this when the user wants to inspect directory access grants before sharing or revoking access. Requires an Orbit user connection; organization and directory"},{"name":"grant_directory_access","description":"Use this when the user wants to grant directory permissions only to an existing principal in the same Orbit organization. The backend rejects recipients outside"},{"name":"revoke_directory_access","description":"Use this when the user wants to revoke a specific access grant after confirming the recipient and permissions affected. Requires an Orbit user connection; organ"},{"name":"list_directory_watchers","description":"Use this when the user wants to list watchers for directory members. Requires an Orbit user connection; organization and directory permissions are enforced by O"},{"name":"create_directory_watchers","description":"Use this when the user wants to schedule updates for selected members. Confirm profile IDs, interval, phases, and ongoing organization credit usage. Requires an"},{"name":"update_directory_watcher","description":"Use this when the user wants to change a member's watcher. Confirm schedule, phases, enabled state, and credit implications. Requires an Orbit user connection; "},{"name":"delete_directory_watcher","description":"Use this when the user wants to stop a directory member's watcher after confirming the target. Requires an Orbit user connection; organization and directory per"},{"name":"list_directory_activity","description":"Use this when the user wants to read sourced directory-member updates sorted by event date or discovery date. Requires an Orbit user connection; organization an"},{"name":"auth_status","description":"Check whether the user connected Orbit to this app."},{"name":"disconnect_orbit","description":"Remove a legacy widget connection token. This does not disconnect Google OAuth; use ChatGPT app settings to disconnect an OAuth account."},{"name":"get_credit_usage","description":"Use this when the user asks how many Orbit credits they have or have used. Returns usage for the connected API credential and available/reserved credits for its"},{"name":"search_people","description":"Find or resolve people when an agent needs maximum person context for deep personalization or research. Start an Orbit v3 search from plain English, structured "},{"name":"quote_population_search","description":"Price a search for everyone in one population: every current employee of a company, or everyone who attended a school. Returns the whole cost as one number in c"},{"name":"search_population","description":"Search everyone in one population: every current employee of a company, or everyone who attended a school. Reserves the quoted credits from the connected accoun"},{"name":"get_search_status","description":"Read the latest results and status for a v3 Orbit search, including a population search started with search_population."},{"name":"get_profile","description":"Read an existing source-backed Orbit profile for research or meeting preparation using the connected account's Orbit credits. Accepts an Orbit ID, known alias, "},{"name":"enrich_profile","description":"Start profile research in Orbit using the connected account's Orbit credits. Partial builds a partial profile, full builds a full profile, and regenerate forces"},{"name":"get_enrichment_status","description":"Read the latest status and optional profile for one v3 enrichment request."},{"name":"batch_enrich_profiles","description":"Start profile research for 1 to 20 Orbit profile IDs or slugs using the connected account's Orbit credits. The regenerate operation forces fresh work and can re"},{"name":"create_watcher","description":"Create or re-enable a scheduled profile watcher. Watcher runs consume Orbit credits. Use this only after the user confirms the profile and schedule."},{"name":"list_watchers","description":"List profile watchers for the current Orbit organization."},{"name":"get_watcher","description":"Read one Orbit watcher by ID."},{"name":"update_watcher","description":"Replace the selected settings of an Orbit watcher. This can disable future runs or change their schedule and phases; enabled runs consume Orbit credits."},{"name":"delete_watcher","description":"Permanently delete one Orbit watcher."},{"name":"list_watcher_runs","description":"List the newest runs for one Orbit watcher."},{"name":"create_webhook","description":"Register an HTTPS endpoint to receive Orbit event data outside Orbit. Confirm the destination and event types with the user first. The signing secret is shown o"},{"name":"list_webhooks","description":"List webhook endpoints for the current Orbit organization. Secrets are masked."},{"name":"test_webhook","description":"Send one signed test event to an existing webhook endpoint. The payload can contain the account's most recent real event data, or an example when none exists. C"},{"name":"delete_webhook","description":"Permanently delete one Orbit webhook endpoint."}],"toolCount":59,"toolsHash":"cace0bd594d6b5dfc4956adc510ce850da7f8f6ffe64d3869b3e89c2963df111","serverName":"orbit-chatgpt-app","capabilities":["resources","tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T08:28:30.529Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":202,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://api.orbitsearch.com/.well-known/oauth-protected-resource/mcp\", scope=\"search.read\", error=\"invalid_token\", error_description=\"No access token was provided.\""}},{"at":"2026-10-09T06:22:59.326Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":235,"error":null,"detail":{"tools":[{"name":"list_directory_organizations","description":"Use this when the user wants to find the user's organizations before choosing a directory. Do not guess organization IDs. Requires an Orbit user connection; org"},{"name":"list_directories","description":"Use this when the user wants to list directories in a selected organization. Requires an Orbit user connection; organization and directory permissions are enfor"},{"name":"get_directory","description":"Use this when the user wants to read a directory and its readiness before changing it. Requires an Orbit user connection; organization and directory permissions"},{"name":"search_directory","description":"Use this when the user wants to search within one directory using natural language. Never fall back to global search if access is denied or the directory is not"},{"name":"check_directory_slug","description":"Use this when the user wants to check if a public directory slug is available. Requires an Orbit user connection; organization and directory permissions are enf"},{"name":"create_directory","description":"Use this when the user wants to create a directory. Confirm the organization, name, and visibility; public makes it discoverable outside the organization. Requi"},{"name":"update_directory","description":"Use this when the user wants to change a directory's details. Read it first and confirm changes, especially public visibility, which publishes it outside the or"},{"name":"archive_directory","description":"Use this when the user wants to archive a directory after confirming the exact target. Orbit's delete route also archives; this does not permanently erase data."},{"name":"list_directory_people","description":"Use this when the user wants to list directory members, optionally filtering by name or source. This is not semantic search. Requires an Orbit user connection; "},{"name":"get_directory_person","description":"Use this when the user wants to read a directory member. Use its returned profile ID with get_profile for deep person research. Requires an Orbit user connectio"},{"name":"count_directory_people","description":"Use this when the user wants to count resolved directory members. Requires an Orbit user connection; organization and directory permissions are enforced by Orbi"},{"name":"list_pending_directory_people","description":"Use this when the user wants to inspect unresolved or processing directory members. Requires an Orbit user connection; organization and directory permissions ar"},{"name":"check_directory_membership","description":"Use this when the user wants to check supplied identities for existing directory membership before import. Requires an Orbit user connection; organization and d"},{"name":"add_directory_person","description":"Use this when the user wants to add a known Orbit profile to a directory. Confirm the directory and profile. Requires an Orbit user connection; organization and"},{"name":"remove_directory_person","description":"Use this when the user wants to remove one directory member after confirming its directory-person ID, not its Orbit profile ID. Requires an Orbit user connectio"},{"name":"remove_directory_people","description":"Use this when the user wants to remove selected directory members after confirming the exact selection. Save the returned removal source for restoration. Requir"},{"name":"restore_directory_people","description":"Use this when the user wants to restore selected removed members or a recorded removal source, within the backend's restoration window. Confirm the exact select"},{"name":"leave_directory","description":"Use this when the user wants to remove the authenticated user's own membership after confirmation. Requires an Orbit user connection; organization and directory"},{"name":"get_directory_readiness","description":"Use this when the user wants to check whether a directory is ready to search. Requires an Orbit user connection; organization and directory permissions are enfo"},{"name":"list_directory_sources","description":"Use this when the user wants to list import sources and recover pending CSV processing where needed. Requires an Orbit user connection; organization and directo"},{"name":"get_directory_source","description":"Use this when the user wants to read a source and recover pending CSV processing where needed. Requires an Orbit user connection; organization and directory per"},{"name":"get_directory_source_status","description":"Use this when the user wants to check import progress and recover pending CSV processing where needed. Queued or importing is not completion. Requires an Orbit "},{"name":"update_directory_source_status","description":"Use this when the user wants to make an explicitly requested administrative source-status correction. Never mark an import completed merely to hide a failure; v"},{"name":"upload_directory_csv","description":"Use this when the user wants to import user-supplied CSV text into a directory. Confirm the target and field mapping. Never invent rows. Limited to 512 KiB; use"},{"name":"infer_directory_csv_mapping","description":"Use this when the user wants to suggest CSV column mapping from user-supplied headers. Review the mapping before upload; this may call an external model. Requir"},{"name":"populate_directory_from_entities","description":"Use this when the user wants to populate a directory from known companies or schools. Confirm IDs, AND/OR criteria and research costs. Never guess entity IDs. P"},{"name":"remove_directory_source_people","description":"Use this when the user wants to remove members contributed by a source after confirming the source and impact. Requires an Orbit user connection; organization a"},{"name":"resync_directory_people","description":"Use this when the user wants to rematerialize selected directory members from existing data, after confirming the selection. This is separate from a research re"},{"name":"refresh_directory_profiles","description":"Use this when the user wants to start a credit-consuming one-time refresh. Confirm selected members or everyone and cost implications; preserve request_id on re"},{"name":"list_directory_refreshes","description":"Use this when the user wants to check one-time refresh progress. Report acceptance separately from completion. Requires an Orbit user connection; organization a"},{"name":"list_directory_grants","description":"Use this when the user wants to inspect directory access grants before sharing or revoking access. Requires an Orbit user connection; organization and directory"},{"name":"grant_directory_access","description":"Use this when the user wants to grant directory permissions only to an existing principal in the same Orbit organization. The backend rejects recipients outside"},{"name":"revoke_directory_access","description":"Use this when the user wants to revoke a specific access grant after confirming the recipient and permissions affected. Requires an Orbit user connection; organ"},{"name":"list_directory_watchers","description":"Use this when the user wants to list watchers for directory members. Requires an Orbit user connection; organization and directory permissions are enforced by O"},{"name":"create_directory_watchers","description":"Use this when the user wants to schedule updates for selected members. Confirm profile IDs, interval, phases, and ongoing organization credit usage. Requires an"},{"name":"update_directory_watcher","description":"Use this when the user wants to change a member's watcher. Confirm schedule, phases, enabled state, and credit implications. Requires an Orbit user connection; "},{"name":"delete_directory_watcher","description":"Use this when the user wants to stop a directory member's watcher after confirming the target. Requires an Orbit user connection; organization and directory per"},{"name":"list_directory_activity","description":"Use this when the user wants to read sourced directory-member updates sorted by event date or discovery date. Requires an Orbit user connection; organization an"},{"name":"auth_status","description":"Check whether the user connected Orbit to this app."},{"name":"disconnect_orbit","description":"Remove a legacy widget connection token. This does not disconnect Google OAuth; use ChatGPT app settings to disconnect an OAuth account."},{"name":"get_credit_usage","description":"Use this when the user asks how many Orbit credits they have or have used. Returns usage for the connected API credential and available/reserved credits for its"},{"name":"search_people","description":"Find or resolve people when an agent needs maximum person context for deep personalization or research. Start an Orbit v3 search from plain English, structured "},{"name":"quote_population_search","description":"Price a search for everyone in one population: every current employee of a company, or everyone who attended a school. Returns the whole cost as one number in c"},{"name":"search_population","description":"Search everyone in one population: every current employee of a company, or everyone who attended a school. Reserves the quoted credits from the connected accoun"},{"name":"get_search_status","description":"Read the latest results and status for a v3 Orbit search, including a population search started with search_population."},{"name":"get_profile","description":"Read an existing source-backed Orbit profile for research or meeting preparation using the connected account's Orbit credits. Accepts an Orbit ID, known alias, "},{"name":"enrich_profile","description":"Start profile research in Orbit using the connected account's Orbit credits. Partial builds a partial profile, full builds a full profile, and regenerate forces"},{"name":"get_enrichment_status","description":"Read the latest status and optional profile for one v3 enrichment request."},{"name":"batch_enrich_profiles","description":"Start profile research for 1 to 20 Orbit profile IDs or slugs using the connected account's Orbit credits. The regenerate operation forces fresh work and can re"},{"name":"create_watcher","description":"Create or re-enable a scheduled profile watcher. Watcher runs consume Orbit credits. Use this only after the user confirms the profile and schedule."},{"name":"list_watchers","description":"List profile watchers for the current Orbit organization."},{"name":"get_watcher","description":"Read one Orbit watcher by ID."},{"name":"update_watcher","description":"Replace the selected settings of an Orbit watcher. This can disable future runs or change their schedule and phases; enabled runs consume Orbit credits."},{"name":"delete_watcher","description":"Permanently delete one Orbit watcher."},{"name":"list_watcher_runs","description":"List the newest runs for one Orbit watcher."},{"name":"create_webhook","description":"Register an HTTPS endpoint to receive Orbit event data outside Orbit. Confirm the destination and event types with the user first. The signing secret is shown o"},{"name":"list_webhooks","description":"List webhook endpoints for the current Orbit organization. Secrets are masked."},{"name":"test_webhook","description":"Send one signed test event to an existing webhook endpoint. The payload can contain the account's most recent real event data, or an example when none exists. C"},{"name":"delete_webhook","description":"Permanently delete one Orbit webhook endpoint."}],"toolCount":59,"toolsHash":"cace0bd594d6b5dfc4956adc510ce850da7f8f6ffe64d3869b3e89c2963df111","serverName":"orbit-chatgpt-app","capabilities":["resources","tools"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"list_directory_organizations","description":"Use this when the user wants to find the user's organizations before choosing a directory. Do not guess organization IDs. Requires an Orbit user connection; org"},{"name":"list_directories","description":"Use this when the user wants to list directories in a selected organization. Requires an Orbit user connection; organization and directory permissions are enfor"},{"name":"get_directory","description":"Use this when the user wants to read a directory and its readiness before changing it. Requires an Orbit user connection; organization and directory permissions"},{"name":"search_directory","description":"Use this when the user wants to search within one directory using natural language. Never fall back to global search if access is denied or the directory is not"},{"name":"check_directory_slug","description":"Use this when the user wants to check if a public directory slug is available. Requires an Orbit user connection; organization and directory permissions are enf"},{"name":"create_directory","description":"Use this when the user wants to create a directory. Confirm the organization, name, and visibility; public makes it discoverable outside the organization. Requi"},{"name":"update_directory","description":"Use this when the user wants to change a directory's details. Read it first and confirm changes, especially public visibility, which publishes it outside the or"},{"name":"archive_directory","description":"Use this when the user wants to archive a directory after confirming the exact target. Orbit's delete route also archives; this does not permanently erase data."},{"name":"list_directory_people","description":"Use this when the user wants to list directory members, optionally filtering by name or source. This is not semantic search. Requires an Orbit user connection; "},{"name":"get_directory_person","description":"Use this when the user wants to read a directory member. Use its returned profile ID with get_profile for deep person research. Requires an Orbit user connectio"},{"name":"count_directory_people","description":"Use this when the user wants to count resolved directory members. Requires an Orbit user connection; organization and directory permissions are enforced by Orbi"},{"name":"list_pending_directory_people","description":"Use this when the user wants to inspect unresolved or processing directory members. Requires an Orbit user connection; organization and directory permissions ar"},{"name":"check_directory_membership","description":"Use this when the user wants to check supplied identities for existing directory membership before import. Requires an Orbit user connection; organization and d"},{"name":"add_directory_person","description":"Use this when the user wants to add a known Orbit profile to a directory. Confirm the directory and profile. Requires an Orbit user connection; organization and"},{"name":"remove_directory_person","description":"Use this when the user wants to remove one directory member after confirming its directory-person ID, not its Orbit profile ID. Requires an Orbit user connectio"},{"name":"remove_directory_people","description":"Use this when the user wants to remove selected directory members after confirming the exact selection. Save the returned removal source for restoration. Requir"},{"name":"restore_directory_people","description":"Use this when the user wants to restore selected removed members or a recorded removal source, within the backend's restoration window. Confirm the exact select"},{"name":"leave_directory","description":"Use this when the user wants to remove the authenticated user's own membership after confirmation. Requires an Orbit user connection; organization and directory"},{"name":"get_directory_readiness","description":"Use this when the user wants to check whether a directory is ready to search. Requires an Orbit user connection; organization and directory permissions are enfo"},{"name":"list_directory_sources","description":"Use this when the user wants to list import sources and recover pending CSV processing where needed. Requires an Orbit user connection; organization and directo"},{"name":"get_directory_source","description":"Use this when the user wants to read a source and recover pending CSV processing where needed. Requires an Orbit user connection; organization and directory per"},{"name":"get_directory_source_status","description":"Use this when the user wants to check import progress and recover pending CSV processing where needed. Queued or importing is not completion. Requires an Orbit "},{"name":"update_directory_source_status","description":"Use this when the user wants to make an explicitly requested administrative source-status correction. Never mark an import completed merely to hide a failure; v"},{"name":"upload_directory_csv","description":"Use this when the user wants to import user-supplied CSV text into a directory. Confirm the target and field mapping. Never invent rows. Limited to 512 KiB; use"},{"name":"infer_directory_csv_mapping","description":"Use this when the user wants to suggest CSV column mapping from user-supplied headers. Review the mapping before upload; this may call an external model. Requir"},{"name":"populate_directory_from_entities","description":"Use this when the user wants to populate a directory from known companies or schools. Confirm IDs, AND/OR criteria and research costs. Never guess entity IDs. P"},{"name":"remove_directory_source_people","description":"Use this when the user wants to remove members contributed by a source after confirming the source and impact. Requires an Orbit user connection; organization a"},{"name":"resync_directory_people","description":"Use this when the user wants to rematerialize selected directory members from existing data, after confirming the selection. This is separate from a research re"},{"name":"refresh_directory_profiles","description":"Use this when the user wants to start a credit-consuming one-time refresh. Confirm selected members or everyone and cost implications; preserve request_id on re"},{"name":"list_directory_refreshes","description":"Use this when the user wants to check one-time refresh progress. Report acceptance separately from completion. Requires an Orbit user connection; organization a"},{"name":"list_directory_grants","description":"Use this when the user wants to inspect directory access grants before sharing or revoking access. Requires an Orbit user connection; organization and directory"},{"name":"grant_directory_access","description":"Use this when the user wants to grant directory permissions only to an existing principal in the same Orbit organization. The backend rejects recipients outside"},{"name":"revoke_directory_access","description":"Use this when the user wants to revoke a specific access grant after confirming the recipient and permissions affected. Requires an Orbit user connection; organ"},{"name":"list_directory_watchers","description":"Use this when the user wants to list watchers for directory members. Requires an Orbit user connection; organization and directory permissions are enforced by O"},{"name":"create_directory_watchers","description":"Use this when the user wants to schedule updates for selected members. Confirm profile IDs, interval, phases, and ongoing organization credit usage. Requires an"},{"name":"update_directory_watcher","description":"Use this when the user wants to change a member's watcher. Confirm schedule, phases, enabled state, and credit implications. Requires an Orbit user connection; "},{"name":"delete_directory_watcher","description":"Use this when the user wants to stop a directory member's watcher after confirming the target. Requires an Orbit user connection; organization and directory per"},{"name":"list_directory_activity","description":"Use this when the user wants to read sourced directory-member updates sorted by event date or discovery date. Requires an Orbit user connection; organization an"},{"name":"auth_status","description":"Check whether the user connected Orbit to this app."},{"name":"disconnect_orbit","description":"Remove a legacy widget connection token. This does not disconnect Google OAuth; use ChatGPT app settings to disconnect an OAuth account."},{"name":"get_credit_usage","description":"Use this when the user asks how many Orbit credits they have or have used. Returns usage for the connected API credential and available/reserved credits for its"},{"name":"search_people","description":"Find or resolve people when an agent needs maximum person context for deep personalization or research. Start an Orbit v3 search from plain English, structured "},{"name":"quote_population_search","description":"Price a search for everyone in one population: every current employee of a company, or everyone who attended a school. Returns the whole cost as one number in c"},{"name":"search_population","description":"Search everyone in one population: every current employee of a company, or everyone who attended a school. Reserves the quoted credits from the connected accoun"},{"name":"get_search_status","description":"Read the latest results and status for a v3 Orbit search, including a population search started with search_population."},{"name":"get_profile","description":"Read an existing source-backed Orbit profile for research or meeting preparation using the connected account's Orbit credits. Accepts an Orbit ID, known alias, "},{"name":"enrich_profile","description":"Start profile research in Orbit using the connected account's Orbit credits. Partial builds a partial profile, full builds a full profile, and regenerate forces"},{"name":"get_enrichment_status","description":"Read the latest status and optional profile for one v3 enrichment request."},{"name":"batch_enrich_profiles","description":"Start profile research for 1 to 20 Orbit profile IDs or slugs using the connected account's Orbit credits. The regenerate operation forces fresh work and can re"},{"name":"create_watcher","description":"Create or re-enable a scheduled profile watcher. Watcher runs consume Orbit credits. Use this only after the user confirms the profile and schedule."},{"name":"list_watchers","description":"List profile watchers for the current Orbit organization."},{"name":"get_watcher","description":"Read one Orbit watcher by ID."},{"name":"update_watcher","description":"Replace the selected settings of an Orbit watcher. This can disable future runs or change their schedule and phases; enabled runs consume Orbit credits."},{"name":"delete_watcher","description":"Permanently delete one Orbit watcher."},{"name":"list_watcher_runs","description":"List the newest runs for one Orbit watcher."},{"name":"create_webhook","description":"Register an HTTPS endpoint to receive Orbit event data outside Orbit. Confirm the destination and event types with the user first. The signing secret is shown o"},{"name":"list_webhooks","description":"List webhook endpoints for the current Orbit organization. Secrets are masked."},{"name":"test_webhook","description":"Send one signed test event to an existing webhook endpoint. The payload can contain the account's most recent real event data, or an example when none exists. C"},{"name":"delete_webhook","description":"Permanently delete one Orbit webhook endpoint."}],"package":null,"toolSurface":{"id":"ts_9efaqz8wxaka","endpointId":"ep_k84ejqjsmkw2","hash":"cace0bd594d6b5dfc4956adc510ce850da7f8f6ffe64d3869b3e89c2963df111","toolCount":59,"serverName":"orbit-chatgpt-app","serverVersion":"1.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-30T22:25:53.831Z","lastSeenAt":"2026-10-10T09:24:58.049Z","observations":36,"toolNames":["list_directory_organizations","list_directories","get_directory","search_directory","check_directory_slug","create_directory","update_directory","archive_directory","list_directory_people","get_directory_person","count_directory_people","list_pending_directory_people","check_directory_membership","add_directory_person","remove_directory_person","remove_directory_people","restore_directory_people","leave_directory","get_directory_readiness","list_directory_sources","get_directory_source","get_directory_source_status","update_directory_source_status","upload_directory_csv","infer_directory_csv_mapping","populate_directory_from_entities","remove_directory_source_people","resync_directory_people","refresh_directory_profiles","list_directory_refreshes","list_directory_grants","grant_directory_access","revoke_directory_access","list_directory_watchers","create_directory_watchers","update_directory_watcher","delete_directory_watcher","list_directory_activity","auth_status","disconnect_orbit","get_credit_usage","search_people","quote_population_search","search_population","get_search_status","get_profile","enrich_profile","get_enrichment_status","batch_enrich_profiles","create_watcher","list_watchers","get_watcher","update_watcher","delete_watcher","list_watcher_runs","create_webhook","list_webhooks","test_webhook","delete_webhook"],"distinctSurfaces":3},"endpointFacts":[{"id":"ep_wj443dcsfznu","url":"https://api.orbitsearch.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-06T23:26:52.642Z","auth":{"observedAt":"2026-10-06T23:26:52.956Z","authRequired":true,"scheme":"Bearer","resourceMetadata":{"url":"https://api.orbitsearch.com/.well-known/oauth-protected-resource/mcp","resource":"https://api.orbitsearch.com/mcp","authorizationServers":["https://api.orbitsearch.com/mcp-auth"],"scopesSupported":["search.read","directories.read","directories.write"]},"authorizationServer":{"url":"https://api.orbitsearch.com/.well-known/oauth-authorization-server/mcp-auth","issuer":"https://api.orbitsearch.com/mcp-auth","grantTypesSupported":["authorization_code","refresh_token","urn:ietf:params:oauth:grant-type:device_code"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":null},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-06T23:26:53.015Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"orbitsearch.com","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-01T03:10:41.000Z","validTo":"2026-11-30T04:09:16.000Z","daysToExpiry":50,"sanCount":2,"fingerprint256":"61:0C:A1:52:A3:EE:D9:80:45:96:A7:FC:C5:64:3F:0A:B2:16:07:F6:F1:C3:F3:66:01:A8:6C:09:AB:25:DF:72"}},{"id":"ep_k84ejqjsmkw2","url":"https://chatgpt.orbitsearch.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T13:29:31.628Z","auth":{"observedAt":"2026-10-09T13:29:31.859Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://chatgpt.orbitsearch.com/.well-known/oauth-protected-resource/mcp","resource":"https://chatgpt.orbitsearch.com","authorizationServers":["https://chatgpt.orbitsearch.com"],"scopesSupported":["search.read","watchers.write","webhooks.write","directories.read","directories.write","openid","email"]},"authorizationServer":{"url":"https://chatgpt.orbitsearch.com/.well-known/oauth-authorization-server","issuer":"https://chatgpt.orbitsearch.com","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":true},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":true,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-09T13:29:31.879Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"orbitsearch.com","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-01T03:10:41.000Z","validTo":"2026-11-30T04:09:16.000Z","daysToExpiry":50,"sanCount":2,"fingerprint256":"61:0C:A1:52:A3:EE:D9:80:45:96:A7:FC:C5:64:3F:0A:B2:16:07:F6:F1:C3:F3:66:01:A8:6C:09:AB:25:DF:72"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.orbit-search/orbit","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.orbit-search%2Forbit","firstSeenAt":"2026-09-06T22:22:29.118Z","fetchedAt":"2026-10-07T23:21:28.763Z","normalizedAt":"2026-10-07T23:21:28.763Z"}]},"firstSeenAt":"2026-09-06T22:22:29.118Z","updatedAt":"2026-10-10T09:27:04.185Z"}