Skip to content

add notra as a built-in integration - #122

Closed
mezotv wants to merge 1 commit into
personalagentproxy:hkonsti/parallelai-vs-exafrom
mezotv:feat/notra-integration
Closed

mezotv wants to merge 1 commit into
personalagentproxy:hkonsti/parallelai-vs-exafrom
mezotv:feat/notra-integration

Conversation

@mezotv

@mezotv mezotv commented Oct 20, 2026

Copy link
Copy Markdown

Adds Notra as a built-in integration, on top of #116's BUILT_IN_MCP. People sign in through Notra's MCP server (mcp.usenotra.com, OAuth with openid offline_access) or paste a Notra API key. Agents get a workspace's posts: blog posts, changelogs and social posts.

  • Posts collection. Agents can list posts newest first, narrowed by type, and open one with its Markdown. They can create a post as a draft, edit its title, slug and content, and delete it. A post's type is set when it's created and can't be changed after that.
  • Publishing. Publish and Unpublish are record commands behind their own Publish posts action, marked high risk and reaching others, because a published post can appear on the workspace's hosted site. New connections default to Read posts only.
  • Account. Each connection is one workspace, named by whoami as "Name · slug". A key for a workspace that's already connected renews that connection, the same as signing in again.
  • Server quirks. Notra's server keeps a session, so it uses handshake: true. It also checks an API key only when a tool is called (it answers Invalid API key as a failed tool), so the key check calls whoami, and toolError maps that answer to credentials_rejected.
  • Custom connections. Existing custom MCP connections to mcp.usenotra.com are taken over, and their list_posts, get_post, create_post, update_post and delete_post settings carry over.
  • Docs and logo. Adds a docs page at connections/notra, plus nav and index entries and the logo.

This doesn't add generation, brand identities, schedules or GEO. Those tools stay in Notra.

Checked with bun run typecheck, bun run test (one existing instructions string updated), bun run lint and bun run build. I haven't run a live sign-in against Notra yet.

Base is hkonsti/parallelai-vs-exa (#116). It retargets to main once that merges.

- notra's posts through its MCP server (mcp.usenotra.com), signed in to with OAuth or given an API key, declared once in BUILT_IN_MCP
- one posts collection: list newest first and narrowed by type, open, create as a draft, edit title, slug and content, delete
- publish and unpublish are commands behind their own high-risk Publish posts action, since a published post reaches the workspace's hosted site
- the account is the workspace, from whoami, so a key for a connected workspace renews that connection
- notra keeps a session and checks a key only when a tool is called, so the server does the handshake and the key check asks whoami
- docs page, nav and index entry, and the logo
@mezotv
mezotv marked this pull request as draft October 20, 2026 17:27
@hkonsti
hkonsti deleted the branch personalagentproxy:hkonsti/parallelai-vs-exa October 20, 2026 21:11
@hkonsti hkonsti closed this Oct 20, 2026
@hkonsti

hkonsti commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator

huh, looks like retargeting didn't work, github auto-closed the PR instead

@hkonsti

hkonsti commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator

feel free to re-raise against main

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants