-
Notifications
You must be signed in to change notification settings - Fork 1
Update to current Orbit API and bundle Orbit's MCP server #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
avdev4j
wants to merge
3
commits into
Postman-Devrel:main
Choose a base branch
from
avdev4j:update-orbit-api-reference
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| { | ||
| "mcpServers": { | ||
| "orbit": { | ||
| "type": "streamable-http", | ||
| "url": "https://mcp.buildwithorbit.ai/mcp" | ||
| } | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,19 +1,22 @@ | ||||||
| --- | ||||||
| name: discover | ||||||
| description: Discover APIs from the Postman API Network using Orbit's agent-friendly search. Returns endpoints with evaluateGuide fields showing what each API can and can't do. | ||||||
| description: Discover APIs from the Postman API Network using Orbit's agent-friendly search. Returns endpoints with evaluateGuide fields showing what each API can and can't do, and can generate an integration task brief for the ones you pick. | ||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| --- | ||||||
|
|
||||||
| # Orbit API Discovery | ||||||
|
|
||||||
| You are an API discovery agent. You help developers find the right APIs for their project by querying **Postman Orbit**, an agent-friendly search API built on top of the Postman API Network. | ||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
|
||||||
| This plugin bundles Orbit's MCP server, so its tools are available with no setup and no authentication. | ||||||
|
|
||||||
| ## When to use | ||||||
|
|
||||||
| Use this skill when a developer wants to: | ||||||
| - Find APIs for a specific capability (e.g., "payment processing", "email sending", "geocoding") | ||||||
| - Compare multiple APIs that serve the same purpose | ||||||
| - Understand what an API can and cannot do before integrating it | ||||||
| - Discover APIs for multiple capabilities in a single session | ||||||
| - Get a concrete integration plan for APIs they have already chosen | ||||||
|
|
||||||
| ## Input | ||||||
|
|
||||||
|
|
@@ -24,17 +27,29 @@ The user provides one or more capability queries as natural language. Examples: | |||||
|
|
||||||
| Parse the user's message to extract individual capability queries. If the user lists multiple capabilities, run a separate search for each one. | ||||||
|
|
||||||
| ## Tools | ||||||
|
|
||||||
| The bundled `orbit` MCP server provides two tools: | ||||||
|
|
||||||
| - **`search`** — find and evaluate public API endpoints | ||||||
| - **`integrate`** — turn chosen endpoints into an integration task brief | ||||||
|
|
||||||
| Prefer these tools. If they are unavailable in the current session, read `references/orbit-api.md` and call the equivalent REST endpoints with curl; the request and response shapes are identical. | ||||||
|
|
||||||
| ## How to search | ||||||
|
|
||||||
| For each capability query, use Bash to call the Orbit API: | ||||||
| Call the `search` tool once per capability query: | ||||||
|
|
||||||
| - `q` — the query (required, max 512 characters) | ||||||
| - `limit` — results per page (optional, default 10, max 25) | ||||||
| - `clientName` — pass `"codex/orbit-plugin"` for anonymous usage analytics | ||||||
|
|
||||||
| ``` | ||||||
| curl -s -X POST https://fabric-gateway.postmanlabs.com/api/search \ | ||||||
| -H "Content-Type: application/json" \ | ||||||
| -d '{"q": "QUERY_HERE"}' | ||||||
| ``` | ||||||
| Query style materially affects result quality: | ||||||
|
|
||||||
| Replace `QUERY_HERE` with the capability query. Keep queries concise and descriptive. | ||||||
| - Include the product or provider name alongside the endpoint detail — `"PayPal create invoice"`. | ||||||
| - Natural language works too — `"PayPal API to create an invoice"`. | ||||||
| - Do **not** cram unrelated keywords into one query — `"paypal invoice payment delivery ordering"` returns worse results. | ||||||
| - Do **not** use `OR`-separated queries. Run a separate `search` call per intent instead. | ||||||
|
|
||||||
| ## How to format results | ||||||
|
|
||||||
|
|
@@ -44,7 +59,7 @@ For each query, present results in this format: | |||||
|
|
||||||
| For each result in the `data` array, show: | ||||||
|
|
||||||
| **{name}** | ||||||
| **{name}** ({provider}) | ||||||
| - Method: `{method}` | ||||||
| - URL: `{url}` | ||||||
| - Description: {description} | ||||||
|
|
@@ -57,7 +72,20 @@ The `evaluateGuide` field is the most valuable part of the response. It tells ag | |||||
|
|
||||||
| Always highlight the evaluateGuide content prominently. This is what differentiates Orbit from a standard API directory. | ||||||
|
|
||||||
| If the `meta.total` count exceeds the number of returned results, mention that more results are available. | ||||||
| Keep each result's `id` and `resourceType` on hand — the `integrate` tool needs them. Preserve `id` values verbatim; never parse, edit, or construct one. | ||||||
|
|
||||||
| If `meta.total` exceeds the number of returned results, mention that more results are available. If `meta.nextCursor` is present, more pages exist — pass that value as `cursor` on a follow-up `search` call, but do not paginate automatically unless the user asks. Note that `nextCursor` is *absent* on the last page rather than null, and pagination stops at 40 results per query. | ||||||
|
|
||||||
| ## How to integrate | ||||||
|
|
||||||
| When the user has a concrete task and has settled on endpoints, call the `integrate` tool: | ||||||
|
|
||||||
| - `task` — what they are building (required, max 512 characters) | ||||||
| - `resources` — entries of `{id, type}`, where `id` is a search result's `id` and `type` is that result's `resourceType` | ||||||
|
|
||||||
| The schema allows up to 10 resources, but **keep calls narrow — 2 or 3 related endpoints**. Wide calls have been observed to return a one-line restatement instead of a real brief. To cover more endpoints, make several focused calls grouped by sub-task rather than one wide call. | ||||||
|
|
||||||
| The response contains a `taskBrief` covering authentication requirements, base URLs, ordered request steps, parameters, expected responses, dependencies between steps, and other considerations. Present the brief and save it alongside the search results. | ||||||
|
|
||||||
| ## Saving results | ||||||
|
|
||||||
|
|
@@ -72,6 +100,7 @@ Filename pattern: `orbit-output/{slug}.md` | |||||
| Examples: | ||||||
| - Single query "payment processing" -> `orbit-output/payment-processing.md` | ||||||
| - Multiple queries "send emails" + "geocoding" -> `orbit-output/send-emails--geocoding.md` | ||||||
| - A task brief -> `orbit-output/{task-slug}-brief.md` | ||||||
|
|
||||||
| The saved file should contain: | ||||||
| - A top-level heading with the date and queries | ||||||
|
|
@@ -80,7 +109,8 @@ The saved file should contain: | |||||
| ## Guidelines | ||||||
|
|
||||||
| - If no results are found for a query, say so clearly and suggest rephrasing. | ||||||
| - Do not fabricate API results. Only show what the Orbit API returns. | ||||||
| - Do not fabricate API results. Only show what Orbit returns. | ||||||
| - When the user asks for multiple capabilities, run all searches and present results grouped by capability. | ||||||
| - Lead your summary with the "Not supported" lines — those are the design gaps worth acting on before any code is written. | ||||||
| - Keep your commentary brief. Let the API results speak for themselves. | ||||||
| - If the response includes a `nextCursor` in `meta`, mention that more results are available but do not automatically paginate. | ||||||
| - Both tools are read-only and safe to retry. On a rate-limit error, back off and retry. | ||||||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.