Skip to content

Developer implementation

Your capabilities. Your code.A shared foundation.

Define the tools and experiences your workflow needs. Noodle Seed provides the runtime and operating foundation, and our team can help you integrate, validate and launch it.

Technical approach

Build around the systems you already have.

Software companies and enterprise teams can use the same public TypeScript authoring path. Our team works with yours on the integration and operating model.

TypeScript capabilities

Define product and business actions in code, then validate locally.

Signed-in context

Carry user and tenant context into the experience while keeping your APIs authoritative.

Operating boundary

Evaluate identity, credentials, permissions, evidence and release requirements.

Read the documentation

Embed an assistant with ambient context.

Embed an assistant that understands the screen, acts for the signed-in user, and follows your existing permissions. Your product stays in control.

  • Create a short-lived session for the signed-in user.
  • Mount the assistant inside your product.
  • Fresh screen context travels with each turn.
Full guide
01 Create a sessionapp/api/assistant/session/route.ts
import { createAssistantSessionHandler } from "@noodleseed/assistant/server";
import { authenticateAssistantRequest } from "../../../../lib/noodle-assistant-auth";

// Generated by noodle assistant embed; adapt the verified identity seam.
export const POST = createAssistantSessionHandler({
  serviceUrl: process.env.NOODLE_SERVICE_URL,
  clientId: process.env.NOODLE_ASSISTANT_CLIENT_ID,
  clientSecret: process.env.NOODLE_ASSISTANT_CLIENT_SECRET,
  origin: process.env.PUBLIC_APP_ORIGIN,
  authenticate: authenticateAssistantRequest,
});
02 Mount the assistantcomponents/assistant.tsx
import { NoodleAssistant } from "@noodleseed/assistant/react";

// Use the signed-in user/tenant key to reset browser state on account changes.
<NoodleAssistant key={principalKey} sessionEndpoint="/api/assistant/session" />
03 Provide ambient contextsrc/server.ts
tool("current_workspace", {
  contextProvider: true,
  input: z.object({}),
  output: z.object({
    workspaceId: z.string(),
    plan: z.string(),
    openProjects: z.number(),
  }),
  annotations: annotations.readOnly(),
  fulfil({ user }) {
    return loadWorkspaceFor(user.subject);
  },
});

// Every tool in this turn receives the same snapshot.
const workspace = context.ambient;

Know what the platform owns before you adopt it.

Evaluate the boundary category by category, then inspect the host and security evidence behind it.

CapabilityDIY SDKMCP hostConnector gatewayNoodle Seed
Product modelImperative handlersBring a serverConnector configurationOne compiled product definition
Local proofBuild itVariesVariesValidate and test locally
Generated product surfacesBuild each surfaceHosted endpointConnector toolsMCP + Apps + operations
Customer identity and tenancyBuild itVariesAgent-sideManaged boundary
Per-tool authorizationBuild itVariesAgent-sideScopes and roles
Operator modelBuild itDeployment settingsAgent-sideOrg, app, environment, version
Operations and evidenceBuild itHosting metricsConnector logsManaged boundary

One product definition. Evidence by host.

Protocol compatibility begins with the same product definition. Rich host presentation is verified separately, because every client evolves on its own schedule.

ChatGPTMCP-compatible
ClaudeVerified tools
CodexVerified tools
CopilotMCP-compatible
GeminiMCP-compatible
Generic MCPProtocol surface

Host validation continues

Security is enforced at the runtime boundary.

Resource-bound OAuth

Tokens are validated for the exact MCP resource and configured audience.

Tenant routing

Verified identity selects the customer boundary before connector execution.

Tool scopes and roles

Discovery and invocation enforce the same per-tool authorization rule.

Scoped credential exchange

Validated identity is exchanged for a narrow downstream credential.

Secret isolation

Connector secrets stay out of source, agent context, widgets, and runtime evidence.

SSRF protection

Connector egress is constrained to declared origins and routing policy.

Structural redaction

Operational evidence excludes request bodies, tokens, secrets, and nested values.

Start with one useful result

Show us the first capability you want to make useful.

We can define the experience, connect the relevant systems and validate it with your team.