Authenticated email gateway for AI agents — per-agent inboxes, HITL approval, SPF/DKIM verified.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · streamable-http · http
verified
reported
listed in the official MCP registry counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit b25046c · analyzer v28 · 2d ago
skills & prompt files 8
- agent-rules tokencanopy-e2a-b25046c/AGENTS.md
- agent-rules tokencanopy-e2a-b25046c/CLAUDE.md
- skill tokencanopy-e2a-b25046c/plugins/e2a/skills/agentify/SKILL.md
- skill tokencanopy-e2a-b25046c/plugins/e2a/skills/agentify/templates/runtime-skill/SKILL.md
- prompt-file tokencanopy-e2a-b25046c/plugins/e2a/skills/agentify/test/fixtures/harness/prompts/triage.txt
- skill tokencanopy-e2a-b25046c/plugins/e2a/skills/autopilot/SKILL.md
- skill tokencanopy-e2a-b25046c/plugins/e2a/skills/e2a/SKILL.md
- skill tokencanopy-e2a-b25046c/plugins/e2a/skills/tether/SKILL.md
danger signals2
- suspicious bundled script suspicious bundled script tokencanopy-e2a-b25046c/plugins/e2a/skills/autopilot/lib.sh :22
eval "$(python3 -c 'import json,shlex,os - suspicious bundled script suspicious bundled script tokencanopy-e2a-b25046c/plugins/e2a/skills/tether/lib.sh :27
eval "$(python3 -c 'import json,shlex,os
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 1462
filesystem 5
- fs tokencanopy-e2a-b25046c/cli/src/commands/contacts.ts :1
import { readFile } from "node:fs/promises"; - fs tokencanopy-e2a-b25046c/cli/src/commands/send.ts :1
import { readFileSync } from "node:fs"; - fs tokencanopy-e2a-b25046c/cli/src/config.ts :1
import { readFileSync, writeFileSync, mkdirSync, chmodSync } from "node:fs"; - fs tokencanopy-e2a-b25046c/mcp/src/version.ts :1
import { readFileSync } from "node:fs"; - fs tokencanopy-e2a-b25046c/plugins/e2a/skills/autopilot/runner.mjs :16
import { readFileSync, writeFileSync, mkdirSync } from "node:fs";
shell / exec 2
- shell tokencanopy-e2a-b25046c/cli/src/commands/login.ts :1
import { execFile } from "node:child_process"; - shell tokencanopy-e2a-b25046c/plugins/e2a/skills/autopilot/runner.mjs :15
import { spawn, execFile } from "node:child_process";
network 25
- net tokencanopy-e2a-b25046c/cli/src/commands/doctor.ts :133
const res = await fetch(url, { - net tokencanopy-e2a-b25046c/cli/src/commands/listen.ts :376
res = await fetch(forwardUrl, { - net tokencanopy-e2a-b25046c/cli/src/commands/login.ts :3
import { createServer, type IncomingMessage, type Server } from "node:http"; - net tokencanopy-e2a-b25046c/mcp/src/readyz.ts :20
const res = await fetch(url, { signal: AbortSignal.timeout(timeoutMs) }); - net tokencanopy-e2a-b25046c/mcp/src/tools/agents.ts :42
.describe("Agent to fetch (full email, e.g. support@acme.com)."), - net tokencanopy-e2a-b25046c/mcp/src/tools/domains.ts :65
domain: z.string().min(1).describe("Domain to fetch (must be registered)."), - net tokencanopy-e2a-b25046c/plugins/e2a/skills/agentify/templates/addons/submit-feedback-mcp/files/server.mjs :34
const res = await fetch(`${API}${path}`, { - net tokencanopy-e2a-b25046c/plugins/e2a/skills/autopilot/runner.mjs :14
import { createServer } from "node:http"; - net tokencanopy-e2a-b25046c/sdks/typescript/src/v1/generated/http/isomorphic-fetch.ts :10
const resultPromise = fetch(request.getUrl(), { - net tokencanopy-e2a-b25046c/web/src/app/(app)/api-keys/page.tsx :108
const res = await fetch("/v1/account/api-keys", { credentials: "include" }); - net tokencanopy-e2a-b25046c/web/src/app/(app)/billing/page.tsx :67
const res = await fetch("/v1/account", { credentials: "include" }); - net tokencanopy-e2a-b25046c/web/src/app/(app)/contacts/page.tsx :70
const response = await fetch(`/v1/contacts?${params}`, { credentials: "include", signal }); - net tokencanopy-e2a-b25046c/web/src/app/(app)/feedback/page.tsx :27
const res = await fetch("/api/feedback", { - net tokencanopy-e2a-b25046c/web/src/app/(app)/get-started/_components/SuccessPanel.tsx :20
const res = await fetch(`/v1/agents/${encodeURIComponent(agent.email)}/test`, { - net tokencanopy-e2a-b25046c/web/src/app/(app)/inboxes/(view)/outreach/page.tsx :65
const response = await fetch( - net tokencanopy-e2a-b25046c/web/src/app/(app)/settings/page.tsx :78
const res = await fetch("/api/auth/me", { - net tokencanopy-e2a-b25046c/web/src/app/(app)/templates/_components/StarterPreviewModal.tsx :30
const res = await fetch( - net tokencanopy-e2a-b25046c/web/src/app/(app)/templates/_components/UseStarterButton.tsx :30
const res = await fetch("/v1/templates", { - net tokencanopy-e2a-b25046c/web/src/app/(app)/templates/edit/page.tsx :87
const res = await fetch(`/v1/templates/${encodeURIComponent(id)}`, { - net tokencanopy-e2a-b25046c/web/src/app/(app)/templates/page.tsx :38
const res = await fetch(url, { credentials: "include" }); - net tokencanopy-e2a-b25046c/web/src/app/(app)/webhooks/page.tsx :94
const res = await fetch("/v1/webhooks", { - net tokencanopy-e2a-b25046c/web/src/app/components/AuthProvider.tsx :32
fetch("/api/auth/me", { credentials: "include" }) - net tokencanopy-e2a-b25046c/web/src/app/components/onboarding/api.ts :35
const res = await fetch(url, { - net tokencanopy-e2a-b25046c/web/src/app/oauth/consent/page.tsx :98
fetch(`/oauth2/clients/${encodeURIComponent(clientID)}`, { - net tokencanopy-e2a-b25046c/web/src/lib/messageLifecycle.ts :125
const response = await fetch(
secrets 3
- secrets tokencanopy-e2a-b25046c/cli/src/commands/config.ts :112
if (key === "api_key" && process.env.E2A_API_KEY) { - secrets tokencanopy-e2a-b25046c/cli/src/config.ts :63
if (process.env.E2A_API_KEY) config.api_key = process.env.E2A_API_KEY; - secrets tokencanopy-e2a-b25046c/plugins/e2a/skills/agentify/templates/addons/submit-feedback-mcp/files/server.mjs :25
const KEY = process.env.E2A_API_KEY;
install hooks 3
- prepublishOnly tokencanopy-e2a-b25046c/cli/package.json :19
npm run build - prepublishOnly tokencanopy-e2a-b25046c/mcp/package.json :16
npm run build - prepublishOnly tokencanopy-e2a-b25046c/sdks/typescript/package.json :33
npm run build
declared dependencies 123
- blitiri.com.ar/go/spf@v1.5.1
- github.com/aws/aws-sdk-go-v2/config@v1.32.31
- github.com/aws/aws-sdk-go-v2/service/sesv2@v1.66.0
- github.com/coreos/go-oidc/v3@v3.20.0
- github.com/danielgtaylor/huma/v2@v2.39.0
- github.com/emersion/go-msgauth@v0.7.0
- github.com/emersion/go-smtp@v0.24.0
- github.com/go-chi/chi/v5@v5.3.1
- github.com/go-jose/go-jose/v3@v3.0.5
- github.com/google/go-github/v72@v72.0.0
- github.com/gorilla/mux@v1.8.1
- github.com/jackc/pgx/v5@v5.10.0
- github.com/joho/godotenv@v1.5.1
- github.com/ory/fosite@v0.49.0
- github.com/pires/go-proxyproto@v0.15.0
- github.com/prometheus/client_golang@v1.24.1
- github.com/riverqueue/river@v0.41.0
- github.com/riverqueue/river/riverdriver/riverpgxv5@v0.41.0
- github.com/riverqueue/river/rivertype@v0.41.0
- golang.org/x/crypto@v0.54.0
- golang.org/x/net@v0.57.0
- golang.org/x/oauth2@v0.36.0
- golang.org/x/text@v0.40.0
- gopkg.in/yaml.v3@v3.0.1
- nhooyr.io/websocket@v1.8.17
- cloud.google.com/go/compute/metadata@v0.9.0
- github.com/asaskevich/govalidator@v0.0.0-20230301143203-a9d515a09cc2
- github.com/aws/aws-sdk-go-v2@v1.43.0
- github.com/aws/aws-sdk-go-v2/credentials@v1.19.30
- github.com/aws/aws-sdk-go-v2/feature/ec2/imds@v1.18.31
- github.com/aws/aws-sdk-go-v2/internal/configsources@v1.4.31
- github.com/aws/aws-sdk-go-v2/internal/endpoints/v2@v2.7.31
- github.com/aws/aws-sdk-go-v2/internal/v4a@v1.4.32
- github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding@v1.13.13
- github.com/aws/aws-sdk-go-v2/service/internal/presigned-url@v1.13.31
- github.com/aws/aws-sdk-go-v2/service/signin@v1.5.0
- github.com/aws/aws-sdk-go-v2/service/sso@v1.33.0
- github.com/aws/aws-sdk-go-v2/service/ssooidc@v1.38.0
- github.com/aws/aws-sdk-go-v2/service/sts@v1.45.0
- github.com/aws/smithy-go@v1.27.3
- github.com/beorn7/perks@v1.0.1
- github.com/cenkalti/backoff/v5@v5.0.3
- github.com/cespare/xxhash/v2@v2.3.0
- github.com/cristalhq/jwt/v4@v4.0.2
- github.com/davecgh/go-spew@v1.1.1
- github.com/dgraph-io/ristretto@v1.0.0
- github.com/dustin/go-humanize@v1.0.1
- github.com/emersion/go-sasl@v0.0.0-20241020182733-b788ff22d5a6
- github.com/felixge/httpsnoop@v1.0.4
- github.com/fsnotify/fsnotify@v1.6.0
- github.com/go-jose/go-jose/v4@v4.1.4
- github.com/go-logr/logr@v1.4.3
- github.com/go-logr/stdr@v1.2.2
- github.com/gobuffalo/pop/v6@v6.1.1
- github.com/gogo/protobuf@v1.3.2
- github.com/golang/mock@v1.6.0
- github.com/google/go-querystring@v1.1.0
- github.com/google/uuid@v1.6.0
- github.com/gorilla/websocket@v1.5.0
- github.com/grpc-ecosystem/grpc-gateway/v2@v2.28.0
- github.com/hashicorp/go-cleanhttp@v0.5.2
- github.com/hashicorp/go-retryablehttp@v0.7.7
- github.com/hashicorp/hcl@v1.0.0
- github.com/inconshreveable/mousetrap@v1.1.0
- github.com/jackc/pgpassfile@v1.0.0
- github.com/jackc/pgservicefile@v0.0.0-20240606120523-5a60cdf6a761
- github.com/jackc/puddle/v2@v2.2.2
- github.com/magiconair/properties@v1.8.7
- github.com/mattn/goveralls@v0.0.12
- github.com/mitchellh/mapstructure@v1.5.0
- github.com/mohae/deepcopy@v0.0.0-20170929034955-c48cc78d4826
- github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822
- github.com/openzipkin/zipkin-go@v0.4.2
- github.com/ory/go-acc@v0.2.9-0.20230103102148-6b1c9a70dbbe
- github.com/ory/go-convenience@v0.1.0
- github.com/ory/x@v0.0.665
- github.com/pelletier/go-toml/v2@v2.3.1
- github.com/pkg/errors@v0.9.1
- github.com/pmezard/go-difflib@v1.0.0
- github.com/prometheus/client_model@v0.6.2
- github.com/prometheus/common@v0.70.1
- github.com/prometheus/procfs@v0.21.1
- github.com/riverqueue/river/riverdriver@v0.41.0
- github.com/riverqueue/river/rivershared@v0.41.0
- github.com/seatgeek/logrus-gelf-formatter@v0.0.0-20210414080842-5b05eb8ff761
- github.com/sirupsen/logrus@v1.9.3
- github.com/spf13/afero@v1.9.5
- github.com/spf13/cast@v1.5.1
- github.com/spf13/cobra@v1.10.2
- github.com/spf13/jwalterweatherman@v1.1.0
- github.com/spf13/pflag@v1.0.10
- github.com/spf13/viper@v1.16.0
- github.com/stretchr/testify@v1.11.1
- github.com/subosito/gotenv@v1.4.2
- github.com/tidwall/gjson@v1.19.0
- github.com/tidwall/match@v1.2.0
- github.com/tidwall/pretty@v1.2.1
- github.com/tidwall/sjson@v1.2.5
- go.opentelemetry.io/auto/sdk@v1.2.1
- go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace@v0.46.1
- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp@v0.46.1
- go.opentelemetry.io/contrib/propagators/b3@v1.21.0
- go.opentelemetry.io/contrib/propagators/jaeger@v1.21.1
- go.opentelemetry.io/contrib/samplers/jaegerremote@v0.15.1
- go.opentelemetry.io/otel@v1.43.0
- go.opentelemetry.io/otel/exporters/jaeger@v1.17.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace@v1.43.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp@v1.43.0
- go.opentelemetry.io/otel/exporters/zipkin@v1.21.0
- go.opentelemetry.io/otel/metric@v1.43.0
- go.opentelemetry.io/otel/sdk@v1.43.0
- go.opentelemetry.io/otel/trace@v1.43.0
- go.opentelemetry.io/proto/otlp@v1.10.0
- go.uber.org/goleak@v1.3.0
- golang.org/x/mod@v0.38.0
- golang.org/x/sync@v0.22.0
- golang.org/x/sys@v0.47.0
- golang.org/x/tools@v0.47.0
- google.golang.org/genproto/googleapis/api@v0.0.0-20260401024825-9d38bb4040a9
- google.golang.org/genproto/googleapis/rpc@v0.0.0-20260401024825-9d38bb4040a9
- google.golang.org/grpc@v1.80.0
- google.golang.org/protobuf@v1.36.11
- gopkg.in/ini.v1@v1.67.0
obfuscation 1
- dynamic require()/import() tokencanopy-e2a-b25046c/tests/e2e-prod/harness/env.test.ts :104
const { loadEnv } = await import(`./env.ts?no-target=${Date.now()}`);