oriiion
REMOTE · WWW.ORIIION.AI
Your marketing, a message away
Available components
Last scanned (15 hours ago)
Scores higher than 93% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Marketing and SEO
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security94
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability80
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 24030 tokens (~131/item across 183 items; 183 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management50
- Stability observed for 15 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage92
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 72% of tool parameters carry a description.Partial
- Structured output schemas are declared (2% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 12 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 183 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Checks we ran (13)
- TLS certificate
- Authorization
- HTTPS
- HSTS header
- DNSSEC
- Transport
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
Does not apply to this hosted endpoint (2)
- Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
- Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
The score does not measure everything. What the score does not measure →
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 0
- Tool “get_top_posts” rewrote its description, which is the text the model reads security
- “get_top_posts” added an optional parameter “sort” cosmetic
- “get_top_posts” reworded the description of “days” cosmetic
- “get_top_posts” reworded the description of “limit” cosmetic
- 4 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 30 Oct 26 +1
- Tool “boost_post” rewrote its description, which is the text the model reads security
- New tool “add_news_source” functional
- New tool “list_news_sources” functional
- New tool “remove_news_source” functional
- “boost_post” reworded the description of “mode” cosmetic
- 28 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 26 Oct 26 +1
- Tool “create_post_from_video” rewrote its description, which is the text the model reads security
- Tool “create_upload_link” rewrote its description, which is the text the model reads security
- Tool “upload_file” rewrote its description, which is the text the model reads security
- First check of Tool coverage: 2 functional
- New tool “create_media_upload_url” functional
- New tool “finalize_media_upload” functional
- New tool “import_media_from_url” functional
- “create_post_from_video” added an optional parameter “mediaId” cosmetic
- “create_post_from_video” reworded the description of “videoUrl” cosmetic
- “create_post_from_video” made “videoUrl” optional cosmetic
- 24 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 22 Oct 26 +1
- Stability: unverified → 0.03 ▲ functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://www.oriiion.ai/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=*.oriiion.ai | CN=YR2,O=Let's Encrypt,C=US | 20 Sept 2026 | 19 Dec 2026 | RSA 2048 | SHA256-RSA | 6e0da671ffb7edeb59c526739e8c9284b96 |
| SANs: *.oriiion.ai, oriiion.ai | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of www.oriiion.ai. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | Trust anchor | 20326, 38696 | 8, 8 | Verified |
| ai. | DS published | 1814, 3799 | 8, 8 | Verified |
| oriiion.ai. | No DS | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer resource_metadata="https://www.oriiion.ai/.well-known/oauth-protected-resource"
Bearer resource_metadata="https://www.oriiion.ai/.well-known/oauth-protected-resource" | Header | Value |
|---|---|
| strict-transport-security | max-age=15552000; includeSubDomains; |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | no-referrer-when-downgrade |
Protected resource metadata
| Document | https://www.oriiion.ai/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://www.oriiion.ai/mcp |
| Authorisation server | https://www.oriiion.ai |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://www.oriiion.ai/mcp | Verified | 200 | |
| http (plaintext) | http://www.oriiion.ai/mcp | HTTPS enforced | 308 | https://www.oriiion.ai/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
save_to_idea_bank Save to Idea Bank ~127
Save an angle card or brainstormed concept directly to the user's Idea Bank backlog for later use.
| Name | Type | Req | Description |
|---|---|---|---|
| angleType | string | yes | Strategic angle classification |
| hook | string | yes | Compelling opening hook |
| keyPoints | array | – | Key takeaway bullets |
| sourceTopic | string | – | Original topic or news event |
| summary | string | yes | Core summary and argument |
| targetAudienceReason | string | – | Why this resonates with the target audience |
| threadId | number | – | Associated sparring thread ID |
| title | string | yes | Concept or angle title |
No output schema declared.
No examples provided.
schedule_post Schedule Post ~460
Schedule (or reschedule) a ready post for a date and time; it publishes itself then. Choose the networks with platforms — ['all'] for every connected network, or a subset like ['tiktok'] or ['linkedin','instagram']; omit to keep the post's current choice (else the account's publishing settings). instagramPlacement 'story' = Instagram story only; instagramTrialReel only when the user explicitly asks for a trial reel. Everything is checked now: the result lists the networks it will go to and any that can't publish, with the reason. For a NEW post on a date, use generate_posts with scheduledDate.
| Name | Type | Req | Description |
|---|---|---|---|
| facebookPlacement | string | – | Facebook only: 'feed', 'story' (Page story only, no feed post, no caption) or 'feed_and_story'. Omit to keep the account default. |
| instagramPlacement | string | – | Instagram only: 'feed' = feed post, no story copy; 'story' = Instagram STORY ONLY — no feed post, no caption, first image or video only; 'feed_and_story' = feed post plus the same media as a story. O… |
| instagramTrialReel | boolean | – | Publish to Instagram as a TRIAL REEL (shown to non-followers first, kept off the profile grid; Instagram may share it with everyone if it performs well). Set true ONLY when the user explicitly asks f… |
| platforms | array | – | Which networks this post goes to. Omit to use the account's own publishing settings. ['all'] = every network the account has connected. Or any subset the user names, e.g. ['tiktok'], ['linkedin'], ['… |
| postId | number | yes | The post ID to schedule |
| scheduledFor | string | yes | ISO 8601 datetime with UTC or offset for when to publish (e.g. 2026-10-26T09:00:00+01:00) |
No output schema declared.
No examples provided.
search_my_images Search My Images ~89
Search the user's own photo library (imported + scraped, vision-tagged) by keyword — e.g. 'coffee', 'team', 'outdoor'. Returns real photo URLs to use with change_image / add_image_to_post.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max images to return |
| query | string | yes | Keywords describing the photo you want, e.g. 'product on white background' |
No output schema declared.
No examples provided.
search_trending_audio Search Trending Audio ~73
Trending or keyword-matched sounds from Instagram's audio catalog for a Reel — licensed music or original sounds. Returns audioIds to use with set_reel_audio.
| Name | Type | Req | Description |
|---|---|---|---|
| audioType | string | – | Licensed music or original sounds from Reels |
| query | string | – | Keywords; omit for the current trending list |
No output schema declared.
No examples provided.
select_brand_images Select Brand Images ~36
Save the user's chosen brand images as visual references for post generation.
| Name | Type | Req | Description |
|---|---|---|---|
| imageUrls | array | yes | The image URLs the user selected |
No output schema declared.
No examples provided.
send_agent_onboarding_card Send Agent Onboarding Card ~235
oriiion STAFF ONLY. Show the customer something on their onboarding page: kind website asks them to confirm their site (title and share image fetched by the server; confirming it starts the build), kind brand asks them to approve the logo, colours and fonts currently on their account — both pop up for the customer, who can also leave them for later. Kind note is a message in the chat beside the onboarding (also how you answer the customer's chat messages). A new website or brand card replaces an unanswered one.
| Name | Type | Req | Description |
|---|---|---|---|
| kind | string | yes | website: ask the customer to confirm their site (the server fetches its title and share image). brand: ask them to approve the logo, colours and fonts as they stand on the account now. note: a short… |
| message | string | – | A short line in the customer's language, shown on the card. Required for kind "note". |
| onboardingId | string | yes | The onboardingId from the routine payload. |
| websiteUrl | string | – | For kind "website": the site to show. Defaults to the one the customer typed. |
No output schema declared.
No examples provided.
send_broadcast Send Broadcast ~185
Deliver, schedule or cancel a broadcast. THIS DMs REAL PEOPLE AND CANNOT BE UNDONE. Before calling with action send or schedule you MUST show the user the exact message text and the number of recipients, and get their explicit approval. You must also pass confirmRecipientCount matching the current recipient count (from add_broadcast_recipients) — the call is refused otherwise. action cancel stops a scheduled broadcast and needs no confirmation.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | send: deliver now. schedule: deliver at scheduledAt. cancel: stop a scheduled broadcast |
| broadcastId | string | yes | The broadcastId from list_broadcasts |
| confirmRecipientCount | number | – | The exact number of recipients you told the user about. Required for send and schedule; must match the real count |
| scheduledAt | string | – | ISO date/time — required when action is schedule |
No output schema declared.
No examples provided.
send_business_email ~307
Send the exact approved personal email from the authenticated business mailbox to 1–5 explicit recipients. This sends real email. First show the sender, recipient addresses, subject and full body; send only when the user explicitly authorizes that message. Selecting CRM leads or preparing meeting/booking links never authorizes sending. Use verified addresses from get_business_mail_recipients, never guess them. Requires a verified sending domain and applies the same suppression, tracking, sender name, rate and storage protections as the dashboard. Reuse the same requestId UUID for the same approved message. The response confirms provider submission, not delivery. If stored is false, report that the accepted message is missing its saved copy; do not resend. On an uncertain outcome, check Sent and clarify instead of retrying with a new ID. This is personal correspondence, not a newsletter or bulk broadcast.
| Name | Type | Req | Description |
|---|---|---|---|
| approved | boolean | yes | Only true after the user explicitly authorizes sending this exact message to these recipients. |
| draftId | integer | – | – |
| expectedDraft | string | – | – |
| from | string | yes | – |
| inReplyTo | string | – | – |
| locale | string | – | – |
| replyId | integer | – | – |
| requestId | string | yes | Stable UUID for this approved message. Reuse on retries; never change its content or recipients. |
| subject | string | yes | – |
| text | string | yes | – |
| to | array | yes | – |
| trackOpens | boolean | – | – |
No output schema declared.
No examples provided.
send_customer_welcome Send Customer Welcome ~229
oriiion STAFF ONLY. Tell the customer their account exists and give them a way in. ALWAYS ASK which channel they should be contacted on — there is no default, and if the answer is SMS you must also ask for their phone number, which the tool will refuse to proceed without. Sends a link to choose their own password, valid for 7 days; a password is never put in a message. Sends once per customer — pass resend to issue a new link, which stops the old one working.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | The customer's email address — the account to send for | |
| notifyVia | string | yes | REQUIRED. Ask the person you are helping which channel the customer should be contacted on. Do not guess. |
| phoneNumber | string | – | REQUIRED when notifyVia is sms. The customer's mobile number, e.g. 070 123 45 67 or +46701234567. |
| resend | boolean | – | Send again to a customer who already got their login. Issues a new link and invalidates the previous one — only use it when someone asked. |
No output schema declared.
No examples provided.
send_message Send Message ~67
Send a direct message in an existing conversation on the user's behalf. ALWAYS show the user the exact text and get their approval before calling this — it goes to a real person immediately.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | – |
| conversationId | string | yes | – |
| message | string | yes | – |
No output schema declared.
No examples provided.
send_password_reset Send Password Reset Link ~93
Email a password reset link to the address on an oriiion account. STAFF can name any customer by email; everyone else can only reset their own account. The link is only mailed, never shown, and replaces any earlier link. Use when someone cannot sign in or asks to change their password.
| Name | Type | Req | Description |
|---|---|---|---|
| string | – | The account's email address. Required for staff; leave out to reset your own account. |
No output schema declared.
No examples provided.
set_account_type Set Account Type ~56
Set the user's account type. This affects which social platforms are required during onboarding.
| Name | Type | Req | Description |
|---|---|---|---|
| accountType | string | yes | Account type: 'small_business' (needs Facebook/Instagram) or 'thought_leader' (needs LinkedIn) |
No output schema declared.
No examples provided.
set_agent_onboarding_brand Set Agent Onboarding Brand ~183
oriiion STAFF ONLY. Change the logo, brand colours or fonts on the customer's account (not yours), e.g. after they asked for a change on the brand card. colors.background is the ground the posts are drawn on, colors.text the words on it — the brand card shows exactly that. Black, white or grey is the brand when the website's own background is that colour or the customer says so: keep it. Then send a new brand card so they can approve the result.
| Name | Type | Req | Description |
|---|---|---|---|
| colors | object | – | Hex colours, e.g. "#0A2540". |
| fonts | object | – | Font family names, e.g. "Montserrat". |
| logoUrl | string | – | A public https URL of the logo image. It is copied to our storage. |
| onboardingId | string | yes | The onboardingId from the routine payload. |
No output schema declared.
No examples provided.
set_agent_onboarding_images Set Agent Onboarding Images ~127
oriiion STAFF ONLY. Turn AI-generated pictures off (or on) for the customer's account (not yours) — when the customer says they do not want AI images, use false and say so in a note. With false, every post is made from their own photos (website, products, listings) and nothing draws a picture for them.
| Name | Type | Req | Description |
|---|---|---|---|
| onboardingId | string | yes | The onboardingId from the routine payload. |
| useAiImages | boolean | yes | false: only the customer's own photos, never an AI-generated picture. true: their photos mixed with AI images. |
No output schema declared.
No examples provided.
set_brand_identity Set Brand Identity ~47
Save the user's confirmed brand identity. Only provided fields are updated.
| Name | Type | Req | Description |
|---|---|---|---|
| colors | object | – | – |
| fonts | object | – | – |
| logoUrl | string | – | Logo image URL |
No output schema declared.
No examples provided.
set_facebook_carousel Set Facebook Carousel ~61
Set image-bound destination cards on an unpublished owned Facebook post. Supply exactly one card for each current image, 2–10 images. Pass carousel:null to clear. Does not publish.
| Name | Type | Req | Description |
|---|---|---|---|
| carousel | – | yes | – |
| postId | integer | yes | – |
No output schema declared.
No examples provided.
set_first_comment Set First Comment ~88
Set an automatic first comment for a post (posted right after publishing — commonly used for hashtags or links). Supported on Facebook, Instagram and LinkedIn. Pass an empty string to remove it.
| Name | Type | Req | Description |
|---|---|---|---|
| comment | string | yes | The first comment text (empty string removes it) |
| platform | string | yes | Which platform the first comment is for |
| postId | number | yes | The post ID |
No output schema declared.
No examples provided.
set_image_style Set Image Style ~54
Choose whether the user's posts use AI-created images (true) or real photos — their brand images, products and stock (false).
| Name | Type | Req | Description |
|---|---|---|---|
| useAiImages | boolean | yes | true = AI-created images, false = real photos |
No output schema declared.
No examples provided.
set_mentions Set Mentions ~137
Add mentions/tags to a post. Instagram: photo tags (usernames) and collaborators (max 3). LinkedIn: mentions as { name, url } pairs — the caption must contain '@<name>' for each one. Applied when the post is published.
| Name | Type | Req | Description |
|---|---|---|---|
| collaborators | array | – | Instagram: usernames to invite as collaborators (max 3) |
| linkedinMentions | array | – | LinkedIn: mentions to link |
| platform | string | yes | Which platform the mentions are for |
| postId | number | yes | The post ID |
| usernames | array | – | Instagram: usernames to photo-tag (with or without @) |
No output schema declared.
No examples provided.
set_paid_partnership Set Paid Partnership ~80
Mark an unpublished Instagram post as a paid partnership (required by law when a brand paid for it), tagging up to two sponsor usernames. Instagram shows the label on publish.
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | – | false removes the label |
| postId | integer | yes | The post |
| sponsors | array | – | Sponsor Instagram usernames, up to 2 |
No output schema declared.
No examples provided.
set_reel_audio Set Reel Audio ~76
Attach a sound from search_trending_audio to an unpublished video post. Applies when it publishes as an Instagram Reel.
| Name | Type | Req | Description |
|---|---|---|---|
| audioId | string | yes | audioId from search_trending_audio |
| audioName | string | – | Title/artist for display |
| postId | integer | yes | The post to attach the sound to |
No output schema declared.
No examples provided.
set_social_profiles Set Social Profiles ~89
Save the user's confirmed social media profile URLs to their account.
| Name | Type | Req | Description |
|---|---|---|---|
| string | – | Facebook page URL | |
| string | – | Instagram profile URL | |
| string | – | LinkedIn profile/company URL | |
| tiktok | string | – | TikTok profile URL |
| x | string | – | X (Twitter) profile URL |
| youtube | string | – | YouTube channel URL |
No output schema declared.
No examples provided.
show_product_picker Choose a product ~142
Show products from the user’s connected Shopify store or website/feed as selectable cards with reference photos. Search for a product or supply 1-6 real IDs from list_products. One candidate asks “Do you mean this product?”; several let the user choose. Use when the requested product/reference is ambiguous or a likely match needs confirming. This only displays choices: STOP and wait for the user before generating or editing. When the user already clearly confirmed a product, use that selection without asking again. On text-only channels present the returned names/photos as choices in the user’s language and wait.
| Name | Type | Req | Description |
|---|---|---|---|
| productIds | array | – | – |
| search | string | – | – |
No output schema declared.
No examples provided.
spar_ideas Spar Ideas & Angles ~146
Run an interactive sparring turn with Oriiion's strategic Thought Partner. Brainstorms high-impact angles (contrarian, playbook, risk/opportunity, book analogies, personal story), formulates opening hooks, and delivers quick choices.
| Name | Type | Req | Description |
|---|---|---|---|
| contextTopic | string | – | Underlying topic or subject |
| message | string | yes | User message or topic to brainstorm/spar about (e.g. 'ChatGPT Ads have arrived in Sweden, what is my angle for small businesses?') |
| selectedCardId | string | – | If the user clicked or chose a specific angle card to dive deeper on |
| threadId | number | – | Existing sparring thread ID to continue conversation |
No output schema declared.
No examples provided.
start_agent_onboarding_build Start Agent Onboarding Build ~139
oriiion STAFF ONLY. Start building the customer's account (research, brand, images, sources, products, style guide, first posts — a few minutes, about $0.30) on a website, without waiting for the customer to confirm it. The build starts by itself when they confirm the website card, and on the typed address ten minutes after signup; use this when you have good reason not to wait. Runs once per onboarding.
| Name | Type | Req | Description |
|---|---|---|---|
| onboardingId | string | yes | The onboardingId from the routine payload. |
| websiteUrl | string | – | The site to build from. Defaults to the one the customer typed or last corrected. |
No output schema declared.
No examples provided.
start_chatgpt_ad ~115
SPENDS MONEY. Launch an approved draft using its exact approvalToken from create/edit/get_chatgpt_ads, or resume a paused campaign within its existing lifetime budget. State budget, fee, duration and shared advertiser identity first; confirmed=true requires user approval. A pending_review result is awaiting review, not delivering. Repeat the same campaign ID to reconcile an uncertain launch; never create another draft as a retry.
| Name | Type | Req | Description |
|---|---|---|---|
| approvalToken | string | – | – |
| campaignId | integer | yes | – |
| confirmed | boolean | yes | – |
No output schema declared.
No examples provided.
update_business_emails ~185
Mailbox housekeeping in the authenticated business mailbox, only when the user asks: mark messages read or unread, archive or unarchive. Sends nothing and deletes nothing. mark_read/mark_unread apply to received messages among the ids (sent mail has no read state). archive/unarchive move the whole conversation with each message’s other party, like the dashboard does. Every id must come from list_business_emails or get_business_email; one unknown or hidden id (MAIL_NOT_FOUND) rejects the whole call without changing anything. Takes 1–50 ids per call; any beyond 50 are returned as skipped. Returns the ids actually changed in updated (empty when they already were in that state). MAIL_UPDATE_REQUIRED means the business website needs its next update before this works.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| ids | array | yes | – |
| locale | string | – | – |
No output schema declared.
No examples provided.
update_business_info Update Business Info ~157
Update the user's business profile information. All fields are optional — only provided fields will be updated.
| Name | Type | Req | Description |
|---|---|---|---|
| businessAbout | string | – | Short description of the business |
| businessCategory | string | – | Business category or industry |
| businessGoal | string | – | Primary business goal for social media |
| businessLocation | string | – | Business location (city, country) |
| businessName | string | – | Business or brand name |
| businessSlogans | string | – | Brand slogans or taglines |
| postingLanguage | string | – | Language for generated posts (e.g. 'sv', 'en') |
| timezone | string | – | Timezone (e.g. 'Europe/Stockholm') |
| websiteUrl | string | – | Website URL |
No output schema declared.
No examples provided.
update_chatgpt_ad_budget ~170
Change a launched ChatGPT ad’s lifetime budget. First read get_chatgpt_ads. State the new total and additional reservation/fee and obtain approval. Additional charge = max(0, new budget - fundedBudgetCents) plus that increase × serviceFeePct (fee rounded to minor units). Send that exact additionalChargeCents and the current expectedBudgetCents. A reduction retains the existing reservation and paid fees until settlement. On an uncertain result reuse requestKey and the identical target; do not invent a fresh key.
| Name | Type | Req | Description |
|---|---|---|---|
| additionalChargeCents | integer | yes | – |
| budgetCents | integer | yes | – |
| campaignId | integer | yes | – |
| confirmed | boolean | yes | – |
| expectedBudgetCents | integer | yes | – |
| requestKey | string | yes | – |
No output schema declared.
No examples provided.
update_comment_automation Update Comment Automation ~214
Update a comment→DM automation, or pause/resume it. Passing isActive:false alone pauses it without changing anything else; isActive:true resumes it. Only the fields you pass are changed.
| Name | Type | Req | Description |
|---|---|---|---|
| alsoMatchInDms | boolean | – | – |
| automationId | string | yes | The automationId from list_comment_automations |
| buttons | array | – | URL buttons; [] removes them. DM max 640 characters with buttons. |
| clickTag | string | – | Tag clickers; empty clears. |
| commentReply | string | – | New public reply (empty string removes it) |
| dmMessage | string | – | New DM text |
| followersOnly | boolean | – | Required for Instagram comment buttons: only known followers receive them. |
| isActive | boolean | – | false pauses the automation, true resumes it |
| keywords | array | – | Replaces the whole keyword list (max 25) |
| linkTracking | boolean | – | – |
| matchMode | string | – | – |
| name | string | – | – |
No output schema declared.
No examples provided.
update_content_rules Update Content Rules ~181
Save a standing rule the user states about their posts or images, one rule at a time, without rewriting the rest of their style guide. 'always' rules feed what every post must include or follow; 'never' rules feed what must never appear in an image or a caption. Use it the moment the user says things like 'never show measuring tools', 'the stakes must always be red' or 'stop using maps'. get_brand_identity shows what is currently saved.
| Name | Type | Req | Description |
|---|---|---|---|
| addAlways | array | – | Rules every post and image must follow |
| addNever | array | – | Things that must never appear in an image or caption |
| removeAlways | array | – | Wording of always-rules to drop (case-insensitive partial match) |
| removeNever | array | – | Wording of never-rules to drop (case-insensitive partial match) |
No output schema declared.
No examples provided.
upload_file Upload File (small, inline) ~215
Store a small file in the user's oriiion account by passing its bytes inline as base64, and get back a permanent URL for the post tools. HARD LIMIT 1MB — the whole file travels as tool-call text, so this is only for things like a logo or a one-page PDF. For anything bigger (video especially): create_media_upload_url → PUT the bytes → finalize_media_upload if you can make HTTP requests; import_media_from_url if the file is at a public link; otherwise create_upload_link. Clients that hold the raw API key may also POST up to 4MB to https://oriiion.ai/api/mcp/upload.
| Name | Type | Req | Description |
|---|---|---|---|
| contentBase64 | string | yes | The file contents, base64-encoded (a data: URL prefix is accepted and stripped) |
| crop | boolean | – | Images only: crop to 1080x1350 portrait for social posts. Leave false to keep the original framing. |
| filename | string | yes | Original filename including extension, e.g. 'logo.png' |
No output schema declared.
No examples provided.
use_character_reference Use Character Reference ~86
Resolve a person's saved character reference images within this account. Use when asked to include a named person (e.g. 'Tina ska stå på scenen') or the account's character. Pass the returned referenceImageUrls to create_image alongside the scene's imageUrl. If unresolved, ask which character or photo to use; never invent their likeness.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | – |
No output schema declared.
No examples provided.
How do I install the oriiion MCP server?
oriiion is a hosted endpoint at https://www.oriiion.ai/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · www.oriiion.ai
claude mcp add --transport http ai-oriiion-oriiion 'https://www.oriiion.ai/mcp'
What is the oriiion MCP server?
oriiion is an MCP server listed in the public MCP registry as ai.oriiion/oriiion. Your marketing, a message away. This page covers its hosted endpoint (https://www.oriiion.ai/mcp).
Is the oriiion MCP server safe to use?
oriiion scores 86 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the oriiion MCP server expose?
oriiion exposes 183 tools: get_chatgpt_ads, create_chatgpt_ad, edit_chatgpt_ad, start_chatgpt_ad, pause_chatgpt_ad, and 178 more. Their descriptions and schemas cost roughly 24,030 tokens of context every time the server is loaded.
Does the oriiion MCP server require authentication?
Yes. oriiion asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the oriiion MCP server still maintained?
oriiion is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What did VerifyMCP test on the oriiion MCP server?
VerifyMCP ran 13 checks on oriiion, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.