{"data":{"name":"ai.oriiion/oriiion","title":"oriiion","description":"Your marketing, a message away","version":"1.0.0","websiteUrl":"https://oriiion.ai","repositoryUrl":null,"remotes":[{"url":"https://www.oriiion.ai/mcp","type":"streamable-http"}],"packages":[],"status":"active","isLatest":true,"publishedAt":"2026-10-21T11:52:08.145Z","updatedAt":"2026-10-21T11:52:08.145Z","source":"official-registry","verification":"official","confidence":100,"stars":null,"sources":[{"stars":null,"title":"oriiion","source":"official-registry","sourceId":"ai.oriiion/oriiion","updatedAt":"2026-10-21T11:52:08.145Z","confidence":100,"websiteUrl":"https://oriiion.ai","description":"Your marketing, a message away","verification":"official","repositoryUrl":null}],"toolIndex":{"tools":[{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"act_on_todo","title":"Act On Todo","description":"Accept or dismiss one todo item by id (from list_todo). Accepting does what the card's button does: a post idea starts generating, a connection card returns the link to send. If the user changed a draft before saying yes, pass their version as finalText. Always confirm with the user before accepting anything that sends or publishes.","inputSchema":{"type":"object","properties":{"itemId":{"type":"integer","exclusiveMinimum":0,"description":"The todo item id from list_todo"},"action":{"type":"string","enum":["accept","dismiss"],"description":"accept = yes, do it; dismiss = no thanks"},"finalText":{"type":"string","maxLength":5000,"description":"The user's edited version of the draft, when they changed it"}},"required":["itemId","action"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"8d82b616ee7fb695ce02910b66d2f86c99458faa0449ff45b26c0bd5133d6a5e","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"convert_sparring_idea_to_post","title":"Convert Sparring Idea to Post","description":"Instantly turn a saved Idea Bank item or Sparring Angle Card into a finished single post using Agency Workforce v3.","inputSchema":{"type":"object","properties":{"ideaId":{"type":"number","description":"Idea Bank ID to generate from"},"threadId":{"type":"number","description":"Sparring thread ID"},"platform":{"type":"string","enum":["facebook","instagram","linkedin","x"],"default":"instagram","description":"Social platform to create for"},"scheduledFor":{"type":"string","description":"Optional ISO date for scheduled publication"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"8d13f36b97a7d41398e619d6ffaf38c60b590fa66f77c7743ce5fd28cfabfafa","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"create_chatgpt_ad","title":null,"description":"Save a ChatGPT ad DRAFT under the current user. Does not launch, reserve funds or spend money. Returns the creative and current quote for review in chat. Use start_chatgpt_ad only after the user approves the exact budget, service fee, duration and oriiion shared advertiser identity. No campaign-builder page is needed.","inputSchema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":180},"headline":{"type":"string","minLength":3,"maxLength":50},"body":{"type":"string","minLength":1,"maxLength":100},"imageUrl":{"type":"string","maxLength":2000,"format":"uri"},"linkUrl":{"$ref":"#/properties/imageUrl"},"goal":{"type":"string","enum":["traffic","awareness"]},"budgetCents":{"type":"integer","minimum":5000,"maximum":2000000},"bidCents":{"type":"integer","minimum":1,"maximum":100000},"durationDays":{"type":"integer","minimum":1,"maximum":30},"countries":{"type":"array","items":{"type":"string","pattern":"^[A-Z]{2}$"},"minItems":1,"maxItems":50},"requestKey":{"type":"string","format":"uuid"}},"required":["name","headline","body","imageUrl","linkUrl","goal","budgetCents","bidCents","durationDays","countries","requestKey"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"definitionHash":"266e2ea5eddd0a1180b7d1aa618c4d4f6b35512991cf75067b02060c9e0b8bba","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"create_photo_carousel","title":"Create photo carousel","description":"Create ONE carousel post containing 2-10 separately generated photos, in the requested order. Use when the user asks for an image/product/photo carousel, not separate posts or a text slide deck. Supply a distinct complete brief for every slide, preserving all requested subjects and shared constraints. Use confirmed catalogue productIds and referenceImageIndex when supplied by the user. Original photos without AI changes use create_carousel_from_images instead. Returns generating, never finished; all slides must succeed before the carousel becomes a draft. Counts as one post. Never publish automatically.","inputSchema":{"type":"object","properties":{"topic":{"type":"string","minLength":3,"maxLength":4000},"slides":{"type":"array","items":{"type":"object","properties":{"description":{"type":"string","minLength":3,"maxLength":2000},"productId":{"type":"string","pattern":"^(shopify|feed)-[1-9]\\d*$"},"referenceImageIndex":{"type":"integer","minimum":0,"maximum":19},"characters":{"type":"array","items":{"type":"string","minLength":1,"maxLength":255},"minItems":1,"maxItems":4}},"required":["description"],"additionalProperties":false},"minItems":2,"maxItems":10}},"required":["topic","slides"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"7e1606fdfa8c365c4bd3073fcfaec609ddbdba02da63be8e86fb2f1971f7dde5","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"create_photo_reel","title":null,"description":"Assemble 2-12 uploaded photos into a video, each shown exactly once in supplied order. Enforces targetSeconds (5-60), music and text switches. Defaults to a silent, text-free reel. This uses the normal video renderer, not a trend sound. Returns rendering status, not a finished video. Branded text uses the renderer's saved brand settings; do not promise separate fonts per heading/subheading/body or a monochrome filter. Existing photos are preserved. Do not change account defaults.","inputSchema":{"type":"object","properties":{"imageUrls":{"type":"array","items":{"type":"string","format":"uri"},"minItems":2,"maxItems":12},"description":{"type":"string","maxLength":500},"targetSeconds":{"type":"integer","minimum":5,"maximum":60,"default":15},"music":{"type":"string","enum":["on","off","auto"],"default":"off"},"renderText":{"type":"boolean","default":false}},"required":["imageUrls"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"677a02d920f8e333c0bf14743173f06eacaa9366ecffe218e605cf88ee468c8b","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"create_product_video","title":"Create product reel","description":"Make a short vertical video (Reels/TikTok) out of one or more products from list_products — their photos, titles and descriptions. sound: music (music only), voiceover (a narrator, with captions), both (narration over music), or leave it out and the concept decides. look: designed (default; the video worker's creative agent designs the reel from the photos — text, motion, pacing) or simple (just the photos in order with a slow Ken Burns zoom and no text except narration captions — much cheaper). With several products, each is shown by its first photo. Needs at least 2 product photos in total. Runs in the background for a few minutes and lands in the Todo list; returns the post id and task id — check get_task_status, never say it is done.","inputSchema":{"type":"object","properties":{"productIds":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":10,"description":"Product ids from list_products, in the order they should appear (e.g. ['feed-17'])."},"steer":{"type":"string","maxLength":500,"description":"Optional angle or occasion from the user."},"targetDuration":{"type":"string","enum":["15","30","45","60"],"description":"Seconds; defaults to 15."},"sound":{"type":"string","enum":["auto","music","voiceover","both"]},"look":{"type":"string","enum":["designed","simple"]}},"required":["productIds"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"definitionHash":"fd0e1e5f21085b345e7ff085486b2ed2458beed35114bc0dbd3b4fd164d82971","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"delete_post","title":"Delete Post","description":"Delete a post. Only draft and scheduled posts can be deleted. Published posts cannot be deleted.","inputSchema":{"type":"object","properties":{"postId":{"type":"number","description":"The post ID to delete"}},"required":["postId"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false},"definitionHash":"0291b5db67abdb9762b43c68cd9a265d4e003a2aff0a5a203075cecc67289c78","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"edit_caption","title":"Edit Caption","description":"Update the caption/text of an existing post. Without a platform, the main caption is updated everywhere. With a platform, only that platform's caption variant is changed (other platforms keep theirs).","inputSchema":{"type":"object","properties":{"postId":{"type":"number","description":"The post ID to edit"},"caption":{"type":"string","description":"The new caption text"},"platform":{"type":"string","enum":["facebook","instagram","linkedin","x","tiktok","snapchat","pinterest","threads","youtube"],"description":"Only update the caption for this platform"}},"required":["postId","caption"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"58fb786ea0fd4e308e10b877a81cebd3abe4fdd49f20f7b7d629d1456f8fc9e0","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"edit_chatgpt_ad","title":null,"description":"Edit selected fields of a ChatGPT ad draft; pass its latest revision from get_chatgpt_ads. For a launched ad, creative/targeting/bid/duration changes require replacement=true and a new requestKey: this creates a replacement DRAFT and leaves the original unchanged. Clearly explain this, show the new quote, then start the replacement and end the original only as authorized. Use update_chatgpt_ad_budget for a live budget-only edit.","inputSchema":{"type":"object","properties":{"campaignId":{"type":"integer","exclusiveMinimum":0},"revision":{"type":"string","format":"uuid"},"changes":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":180},"headline":{"type":"string","minLength":3,"maxLength":50},"body":{"type":"string","minLength":1,"maxLength":100},"imageUrl":{"type":"string","maxLength":2000,"format":"uri"},"linkUrl":{"$ref":"#/properties/changes/properties/imageUrl"},"goal":{"type":"string","enum":["traffic","awareness"]},"budgetCents":{"type":"integer","minimum":5000,"maximum":2000000},"bidCents":{"type":"integer","minimum":1,"maximum":100000},"durationDays":{"type":"integer","minimum":1,"maximum":30},"countries":{"type":"array","items":{"type":"string","pattern":"^[A-Z]{2}$"},"minItems":1,"maxItems":50}},"additionalProperties":false},"replacement":{"type":"boolean","default":false},"requestKey":{"type":"string","format":"uuid"}},"required":["campaignId","changes"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"definitionHash":"d9532b66b08f86277fdd7bc0f866e1dfb35055d4a0cbeb0e2861535f70bfffc5","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"end_chatgpt_ad","title":null,"description":"End a ChatGPT draft or archive a launched campaign permanently. It cannot be resumed. Unspent reservations settle after the final daily report and at least 48 hours after ending; ending does not instantly refund funds.","inputSchema":{"type":"object","properties":{"campaignId":{"type":"integer","exclusiveMinimum":0}},"required":["campaignId"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true},"definitionHash":"a4e9918feb3820e0187c0e7eaeedfd1be36bc845f3bba13651fa587b9178985e","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"generate_platform_captions","title":"Generate Platform Captions","description":"AI-generate platform-specific caption variants (Facebook, Instagram, LinkedIn, X, etc.) for one post, tailored to each connected platform's style and character limits. The base caption stays unchanged; each platform publishes its own variant.","inputSchema":{"type":"object","properties":{"postId":{"type":"number","description":"The post to generate platform captions for"}},"required":["postId"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"142dc101957a822239bf4de377eefccb1837695e1af731c293204295f33544dc","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"generate_posts","title":"Generate Posts","description":"Generate new social media posts using AI with Agency Workforce v3. Named products in the description (e.g. iPhone 18, Volvo EX90) are detected automatically: photos come from the user's own catalogue when they have it, otherwise reference photos are found on the web, so the image shows the real product. For an explicitly requested publication date, pass scheduledDate and optional scheduledTime: the server reserves the date and creates an idea review card with Approve / Change date. Approval is required before publishing. When the user names networks ('only TikTok', 'LinkedIn and Instagram', 'everywhere') pass platforms, and instagramPlacement 'story' for an Instagram story; the choice is kept through approval. Returns a task ID and group ID immediately; say creation has started, never that it is already scheduled. The user is notified when ready. Check get_generation_status if they ask for progress.","inputSchema":{"type":"object","properties":{"description":{"type":"string","description":"Topic or description for the posts. If omitted, auto-generates based on user profile."},"perPostDescriptions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":10000},"minItems":1,"maxItems":5,"description":"One complete brief per post for distinct subjects; length must equal count."},"count":{"type":"number","minimum":1,"maximum":5,"description":"Number of posts to generate (default: 1)"},"scheduledDate":{"type":"string","description":"When explicitly requested: YYYY-MM-DD in the account timezone. Reserves the date and requires approval before publishing; omit for an undated draft."},"scheduledTime":{"type":"string","description":"Local HH:mm. If only a date was requested, omit to use 09:00; tell the user the returned time."},"exactCaption":{"type":"string","description":"Quoted/dictated wording, preserved verbatim. Omit when the user gave a topic to write about."},"productIds":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":6,"description":"Catalogue products to show IN the post, as list_products ids ('shopify-42', 'feed-17'). Pass every product the user named in ONE call: 'a post about A and B' is one post with both. Every listed product goes into every post of the call."},"characters":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":4,"description":"Saved characters (people with photos) to show in the picture, by name. Only when the user asks for them or the post is about that person; use_character_reference lists who exists."},"platforms":{"type":"array","items":{"type":"string","enum":["facebook","instagram","linkedin","x","tiktok","youtube","snapchat","pinterest","threads","bluesky","discord","telegram","all"]},"description":"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'], ['linkedin','instagram']. Only connected networks publish; the result lists any that can't, and why (not connected, switched off, needs a video)."},"instagramPlacement":{"type":"string","enum":["feed","story","feed_and_story"],"description":"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. Omit to keep the account default."},"facebookPlacement":{"type":"string","enum":["feed","story","feed_and_story"],"description":"Facebook only: 'feed', 'story' (Page story only, no feed post, no caption) or 'feed_and_story'. Omit to keep the account default."}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"definitionHash":"c8d42cd33c7765736d32b72cb07abaaea29a1afb04f03c4926286cb189dfc27d","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"get_account_info","title":"Get Account Info","description":"Get the authenticated user's profile and business information.","inputSchema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"d0c5825d98f646fca6979641242534f6c8adbfe75e445b77b0545964764ca078","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"get_analytics_overview","title":"Get Analytics Overview","description":"Headline social-media performance for the account over a period: total views, reach, engagements (likes/comments/shares/saves), posts and followers, each with change vs the previous period. Use this to understand overall account health.","inputSchema":{"type":"object","properties":{"days":{"type":"number","minimum":1,"maximum":365,"default":30,"description":"Look-back window in days"},"platform":{"type":"string","enum":["all","facebook","instagram","linkedin","x","tiktok","youtube"],"default":"all","description":"Filter to one platform"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"definitionHash":"5a1769dfe58d673c77a78b2b33d07a9ec29257d70ef95d891a677f7cafe07ad3","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"get_audience_insights","title":"Get Audience Insights","description":"Who follows and who engages: age, gender and city breakdowns, 30-day totals and the best posting slots for the user's Instagram (and Facebook page). Use it to answer 'who is my audience' or to ground a post idea in a real group.","inputSchema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"f187b503799fa7e22bcdb05e7f87acffbdcef06590ce5530331c62c618d97228","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"get_best_posting_times","title":"Get Best Posting Times","description":"Engagement-weighted best times to post (day + hour, UTC) based on the account's own history, plus concrete upcoming datetimes to schedule at. Use before scheduling to maximise reach.","inputSchema":{"type":"object","properties":{"platform":{"type":"string","enum":["all","facebook","instagram","linkedin","x","tiktok","youtube"],"default":"all","description":"Filter to one platform"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"definitionHash":"cca0d45e07faa60fc9b01c711640456e684f8b8da31a7f2cfffb7114ec134224","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"get_chatgpt_ads","title":null,"description":"Read the current user’s ChatGPT ad drafts, campaigns and results: status, budget, fees, spend, impressions, clicks, CTR, CPC and CPM. Includes account availability and draft approval quotes. Set refresh=true to fetch the latest provider report; reporting is daily, not real time. Null results mean no report yet. Paginate with nextOffset. Translate errorCode into the user’s language.","inputSchema":{"type":"object","properties":{"campaignId":{"type":"integer","exclusiveMinimum":0},"refresh":{"type":"boolean","default":false},"limit":{"type":"integer","minimum":1,"maximum":25,"default":25},"offset":{"type":"integer","minimum":0,"default":0}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"definitionHash":"348f31e6194dec01db9c42c4b06a46f7d4349e1f9d4d4fa44e346c0d9352fd26","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"get_connect_link","title":"Get Connect Link","description":"One link that connects or reconnects a channel. Send it to the user: it works in any browser, asks them to sign in if needed, and finishes the connection by itself. Use when a channel is missing, or when get_connection_health says needs_reconnect.","inputSchema":{"type":"object","properties":{"platform":{"type":"string","enum":["facebook","instagram","linkedin","x","tiktok","youtube","threads","pinterest","snapchat","googlebusiness","reddit","bluesky","discord","telegram"],"description":"The channel to connect"}},"required":["platform"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"03fd0f9b3194cdf2865eb78a9dd97c69fd4532c328f8c9ecb008110114f678ab","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"get_connection_health","title":"Get Connection Health","description":"Whether each connected channel can still publish: ok, warning, or needs_reconnect (with the link to fix it). Check this when a post failed or the user asks why something didn't go out.","inputSchema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"3f3410bba9b97b6e2702638719e0e8715153d202a8e41e633da849681a15c253","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"get_content_insights","title":"Get Content Insights","description":"A synthesized 'what's working' briefing combining the best platform, best posting times, top posts and the engagement mix into actionable guidance for creating better content. Call this before generating new posts to ground them in what performs.","inputSchema":{"type":"object","properties":{"days":{"type":"number","minimum":1,"maximum":365,"default":30,"description":"Look-back window in days"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"definitionHash":"ca14a00c005ef482949ac9de02d2ddddc47f15d018ee8b3888882f089979d0a1","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"get_content_skill","title":"Get a Content Skill","description":"oriiion's own method for social media content, as a skill to follow: 'content-strategy' (plan a month of posts like a strategy meeting), 'post-craft' (direct one post: angle, picture, captions in the brand's voice) or 'content-critic' (review a post and send back what is not good enough, with exact fixes). Load the right one before planning, writing or judging content for this account, and follow it.","inputSchema":{"type":"object","properties":{"name":{"type":"string","enum":["content-strategy","post-craft","content-critic"],"description":"Which skill"}},"required":["name"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"413789e24c5682d9b5a716af7c0107a53a52849b99942e2ce0d70cd7f90d5800","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"get_conversation","title":"Get Conversation","description":"The messages in one conversation, oldest first. Use conversationId and accountId exactly as returned by list_conversations.","inputSchema":{"type":"object","properties":{"conversationId":{"type":"string","minLength":1},"accountId":{"type":"string","minLength":1},"limit":{"type":"number","minimum":1,"maximum":50,"default":20}},"required":["conversationId","accountId"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"d053ad42d62812481d00dc9fbda368830fb8f7df4a54b8536ee712de6d7892b3","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"get_follower_stats","title":"Get Follower Stats","description":"Follower counts and growth per connected account over a period. Use alongside engagement to judge which platforms are worth investing in.","inputSchema":{"type":"object","properties":{"days":{"type":"number","minimum":1,"maximum":365,"default":30,"description":"Look-back window in days"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"definitionHash":"e43e33bb339cf3fd5e6d21d687f4f8c74d7ed59dced7d6cac9626d006a79ea51","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"get_generation_status","title":"Get Generation Status","description":"Check the status of an async post generation batch. Returns 'generating', 'caption_ready', 'completed', 'failed', or 'partial'. 'caption_ready' means the captions are final and the images are still rendering — show the user the caption text then, do not wait for the pictures. Each post also carries imageStatus: pending | ready | none.","inputSchema":{"type":"object","properties":{"groupId":{"type":"string","description":"The group ID returned from generate_posts"}},"required":["groupId"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"4585850cbe22e9fbb7538c4f74dc135ad1b7fac50cdd3d900b9e40ec821a9eb6","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"},{"serverName":"ai.oriiion/oriiion","endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","name":"get_idea_bank","title":"Get Idea Bank","description":"Retrieve the user's saved Idea Bank (backlog, used, or archived idea cards from sparring sessions).","inputSchema":{"type":"object","properties":{"status":{"type":"string","enum":["backlog","used","archived","all"],"default":"all","description":"Filter by status (default: all)"},"limit":{"type":"number","default":20,"description":"Max ideas to return"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"d9a271a469604c19cc291e9e654a16b7fdda236ee4f7946436e980f96ff9f289","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T20:46:21.210Z","metadataTrust":"untrusted"}],"endpoints":[{"endpointFingerprint":"83b69fce8635e9d66117a59c5ea16dffc735b92cb8056f3b675107489bcaa602","protocol":"streamable-http","status":"indexed","toolCount":50,"observedAt":"2026-11-02T20:46:21.210Z"}],"authentication":"unknown"},"connectionConfigurations":{"status":"ready","authentication":"not embedded","clients":{"Claude Desktop":{"mcpServers":{"ai.oriiion/oriiion":{"url":"https://www.oriiion.ai/mcp"}}},"Cursor":{"mcpServers":{"ai.oriiion/oriiion":{"url":"https://www.oriiion.ai/mcp"}}},"VS Code":{"servers":{"ai.oriiion/oriiion":{"type":"http","url":"https://www.oriiion.ai/mcp"}}}}},"resourceType":"mcp-server","callable":true,"runtime":{"callable":true,"protocols":["mcp"]},"interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://www.oriiion.ai/mcp"}],"profile":{"apiVersion":"1","schemaVersion":"1","id":"mcp-server:ai.oriiion%2Foriiion","resourceType":"mcp-server","canonicalUrl":"https://www.agentsjunction.com/api/v1/servers/ai.oriiion%2Foriiion","name":"ai.oriiion/oriiion","description":"Your marketing, a message away","interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://www.oriiion.ai/mcp"}],"capabilities":[],"identity":{"source":"official-registry","websiteUrl":"https://oriiion.ai","repositoryUrl":null,"version":"1.0.0"},"verification":{"state":"official","confidence":100},"operations":{"resourceType":"mcp-server","name":"ai.oriiion/oriiion","status":"online","lastCheckedAt":"2026-11-03T19:16:44.603Z","lastSuccessfulCheck":"2026-11-03T19:16:44.603Z","latencyMs":94,"consecutiveFailures":0,"isStale":false,"checks":{"endpointReachable":true,"protocolValid":true,"agentCardValid":null,"mcpHandshakeValid":true},"lastSeen":null,"lastSuccessfulInteraction":null,"lastHealthCheck":"2026-11-03T19:16:44.603Z","source":{"type":"health-check","url":null},"observedAt":"2026-11-03T19:16:44.603Z"},"security":null,"timestamps":{"createdAt":"2026-10-21T11:52:08.145Z","updatedAt":"2026-10-21T11:52:08.145Z","observedAt":"2026-11-03T19:16:44.603Z"},"compatibility":{"serverVersion":"1.0.0","protocolVersions":[{"protocol":"mcp","version":null}]}}}}