github analyzed 9716d6a

GNS-Foundation/geiant

github

AI governance MCP server for EU AI Act compliance and jurisdiction verification

maintainer
GNS-Foundation
license
first seen
2026-06-03
last seen
2026-06-03
releases · 30d
0
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged committed secret in GNS-Foundation/geiant
  2. HIGH code analysis flagged committed secret in GNS-Foundation/geiant
  3. HIGH code analysis flagged committed secret in GNS-Foundation/geiant
capabilities 30 tools
transport stdio · streamable-http · http · sse counts 30 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • band_algebra
  • check_delegation_chain
  • clip_to_geometry
  • contours
  • generate_audit_proof
  • geometry_area
  • geometry_at
  • geometry_buffer
  • geometry_diff
  • geometry_distance
  • geometry_store
  • geometry_within
  • gns_get_trust_score
  • gns_roll_epoch
  • gns_verify_chain
  • h3_sample
  • h3_to_geojson
  • jurisdiction_lookup
  • perception_classify
  • perception_embed
  • perception_fetch_tile
  • perception_weather
  • raster_info
  • raster_stats
  • reproject
  • spatial_query
  • translate
  • validate_coordinates
  • verify_jurisdiction
  • warp
code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 137

filesystem 8

  • fs GNS-Foundation-geiant-9716d6a/packages/core/dist/synthetic/export/exporter.js :5 import { writeFileSync, mkdirSync } from 'fs';
  • fs (weak) GNS-Foundation-geiant-9716d6a/packages/core/scripts/sync-corpus.mjs :7 import { readFileSync, writeFileSync } from 'node:fs';
  • fs (weak) GNS-Foundation-geiant-9716d6a/packages/core/src/__tests__/cgr.test.ts :14 import fs from 'fs';
  • fs (weak) GNS-Foundation-geiant-9716d6a/packages/core/src/__tests__/cgr_v4_conformance.test.ts :12 import { readFileSync } from 'node:fs';
  • fs (weak) GNS-Foundation-geiant-9716d6a/packages/core/src/__tests__/rotation.test.ts :10 import fs from 'fs';
  • fs GNS-Foundation-geiant-9716d6a/packages/core/src/synthetic/export/exporter.ts :6 import { writeFileSync, mkdirSync } from 'fs';
  • fs (weak) GNS-Foundation-geiant-9716d6a/packages/mcp-audit/scripts/setup-agent.ts :17 import * as fs from 'fs';
  • fs GNS-Foundation-geiant-9716d6a/packages/mcp-perception/apps/compliance-dashboard/server.ts :17 import fs from 'node:fs/promises';

shell / exec 2

  • shell (weak) GNS-Foundation-geiant-9716d6a/packages/core/scripts/sync-corpus.mjs :8 import { execSync } from 'node:child_process';
  • shell GNS-Foundation-geiant-9716d6a/packages/mcp-gdal/src/index.ts :11 import { spawn, ChildProcess } from 'child_process';

network 16

  • net GNS-Foundation-geiant-9716d6a/packages/core/dist/mcp/switchboard.js :35 const response = await fetch(`${serverUrl}/mcp`, {
  • net GNS-Foundation-geiant-9716d6a/packages/core/src/agent/identity.ts :208 const res = await fetch(`${baseUrl}/v1/cgr/rotations?current=${encodeURIComponent(currentKey)}`, init);
  • net GNS-Foundation-geiant-9716d6a/packages/core/src/mcp/switchboard.ts :78 const response = await fetch(`${serverUrl}/mcp`, {
  • net GNS-Foundation-geiant-9716d6a/packages/mcp-agentcore/src/index.ts :118 const res = await fetch(`${COMPLIANCE_URL}${path}`);
  • net (weak) GNS-Foundation-geiant-9716d6a/packages/mcp-client-sql/examples/energy-agents.ts :105 const report = await fetch(`${process.env.SUPABASE_URL}/functions/v1/compliance?agent_pk=${agent.publicKey}`, {
  • net GNS-Foundation-geiant-9716d6a/packages/mcp-client-sql/src/index.ts :123 const res = await fetch(`${supabaseUrl}/rest/v1/agent_breadcrumbs`, {
  • net GNS-Foundation-geiant-9716d6a/packages/mcp-gdal/src/index.ts :9 import { createServer, IncomingMessage, ServerResponse } from 'http';
  • net GNS-Foundation-geiant-9716d6a/packages/mcp-perception/apps/compliance-dashboard/src/cgr-data.ts :92 const res = await fetch(`${GRAFOMEM_BASE}${path}`, reqInit);
  • net GNS-Foundation-geiant-9716d6a/packages/mcp-perception/src/index.ts :176 const res = await fetch(`${PC_STAC_URL}/search`, {
  • net (weak) GNS-Foundation-geiant-9716d6a/packages/mcp-perception/test/mcp_sse_test.mjs :58 const healthRes = await fetch(`${BASE}/health`);
  • net (weak) GNS-Foundation-geiant-9716d6a/packages/mcp-perception/test/phase4_0_e2e.mjs :69 const res = await fetch(`${PC_STAC_URL}/search`, {
  • net (weak) GNS-Foundation-geiant-9716d6a/packages/mcp-perception/test/phase4_1_e2e.mjs :71 const res = await fetch(`${STAC_URL}/search`, {
  • net (weak) GNS-Foundation-geiant-9716d6a/packages/mcp-perception/test/phase4_2_e2e.mjs :40 const res = await fetch('https://earth-search.aws.element84.com/v1/search', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body) });
  • net (weak) GNS-Foundation-geiant-9716d6a/packages/mcp-perception/test/phase4_3_e2e.mjs :55 const res = await fetch(url.toString());
  • net (weak) GNS-Foundation-geiant-9716d6a/packages/mcp-perception/test/phase5_1_3_4_e2e.mjs :32 const h0 = await fetch(`${BASE}/health`).then(r => r.json());
  • net GNS-Foundation-geiant-9716d6a/packages/mcp-postgis/src/index.ts :31 import { createServer, IncomingMessage, ServerResponse } from 'http';

secrets 20

  • secrets GNS-Foundation-geiant-9716d6a/apps/api/src/index.ts :42 const serviceKey = process.env.SUPABASE_SERVICE_ROLE_KEY;
  • secrets GNS-Foundation-geiant-9716d6a/apps/router/src/index.ts :46 const supabaseKey = process.env.SUPABASE_SERVICE_ROLE_KEY;
  • secrets (weak) GNS-Foundation-geiant-9716d6a/packages/core/dist/__tests__/supabase_registry.test.js :16 const SERVICE_KEY = process.env.SUPABASE_SERVICE_ROLE_KEY;
  • secrets GNS-Foundation-geiant-9716d6a/packages/core/dist/mcp/switchboard.js :337 const postgisKey = process.env.GEIANT_MCP_API_KEY ?? 'geiant-dev-key';
  • secrets GNS-Foundation-geiant-9716d6a/packages/core/dist/registry/supabase_registry.js :216 const key = process.env.SUPABASE_SERVICE_ROLE_KEY;
  • secrets GNS-Foundation-geiant-9716d6a/packages/core/dist/router/handoff.js :37 const ROUTER_PRIVATE_KEY_HEX = process.env.ROUTER_SIGNING_KEY ??
  • secrets (weak) GNS-Foundation-geiant-9716d6a/packages/core/src/__tests__/cgr.test.ts :169 const prev = process.env.CGR_FOUNDATION_PUBKEY;
  • secrets (weak) GNS-Foundation-geiant-9716d6a/packages/core/src/__tests__/supabase_registry.test.ts :19 const SERVICE_KEY = process.env.SUPABASE_SERVICE_ROLE_KEY;
  • secrets GNS-Foundation-geiant-9716d6a/packages/core/src/agent/cgr.ts :54 const k = process.env.CGR_FOUNDATION_PUBKEY?.trim();
  • secrets GNS-Foundation-geiant-9716d6a/packages/core/src/mcp/switchboard.ts :433 const postgisKey = process.env.GEIANT_MCP_API_KEY ?? 'geiant-dev-key';
  • secrets GNS-Foundation-geiant-9716d6a/packages/core/src/registry/supabase_registry.ts :338 const key = process.env.SUPABASE_SERVICE_ROLE_KEY;
  • secrets GNS-Foundation-geiant-9716d6a/packages/core/src/router/handoff.ts :52 process.env.ROUTER_SIGNING_KEY ??
  • secrets GNS-Foundation-geiant-9716d6a/packages/mcp-audit/src/middleware.ts :845 ?? process.env.GEIANT_SUPABASE_SERVICE_KEY
  • secrets (weak) GNS-Foundation-geiant-9716d6a/packages/mcp-client-sql/examples/energy-agents.ts :51 authToken: process.env.TERNA_API_KEY,
  • secrets GNS-Foundation-geiant-9716d6a/packages/mcp-gdal/src/index.ts :17 const API_KEY = process.env.GEIANT_MCP_API_KEY ?? 'geiant-dev-key';
  • secrets GNS-Foundation-geiant-9716d6a/packages/mcp-perception/src/index.ts :54 const HF_TOKEN = process.env.HF_TOKEN ?? '';
  • secrets (weak) GNS-Foundation-geiant-9716d6a/packages/mcp-perception/test/phase4_1_e2e.mjs :22 const HF_TOKEN = process.env.HF_TOKEN;
  • secrets (weak) GNS-Foundation-geiant-9716d6a/packages/mcp-perception/test/phase4_2_e2e.mjs :9 const RUNPOD_API_KEY = process.env.HF_TOKEN;
  • secrets (weak) GNS-Foundation-geiant-9716d6a/packages/mcp-perception/test/phase4_3_e2e.mjs :10 const SUPABASE_KEY = process.env.SUPABASE_SERVICE_ROLE_KEY;
  • secrets GNS-Foundation-geiant-9716d6a/packages/mcp-postgis/src/index.ts :40 const SERVICE_KEY = process.env.SUPABASE_SERVICE_ROLE_KEY!;

tool registrations 30

  • verify_jurisdiction GNS-Foundation-geiant-9716d6a/packages/mcp-agentcore/src/index.ts :133
  • generate_audit_proof GNS-Foundation-geiant-9716d6a/packages/mcp-agentcore/src/index.ts :208
  • check_delegation_chain GNS-Foundation-geiant-9716d6a/packages/mcp-agentcore/src/index.ts :273
  • raster_info GNS-Foundation-geiant-9716d6a/packages/mcp-gdal/src/index.ts :120
  • raster_stats GNS-Foundation-geiant-9716d6a/packages/mcp-gdal/src/index.ts :126
  • reproject GNS-Foundation-geiant-9716d6a/packages/mcp-gdal/src/index.ts :135
  • warp GNS-Foundation-geiant-9716d6a/packages/mcp-gdal/src/index.ts :144
  • clip_to_geometry GNS-Foundation-geiant-9716d6a/packages/mcp-gdal/src/index.ts :154
  • contours GNS-Foundation-geiant-9716d6a/packages/mcp-gdal/src/index.ts :163
  • translate GNS-Foundation-geiant-9716d6a/packages/mcp-gdal/src/index.ts :173
  • band_algebra GNS-Foundation-geiant-9716d6a/packages/mcp-gdal/src/index.ts :183
  • h3_sample GNS-Foundation-geiant-9716d6a/packages/mcp-gdal/src/index.ts :193
  • perception_fetch_tile GNS-Foundation-geiant-9716d6a/packages/mcp-perception/src/index.ts :727
  • perception_classify GNS-Foundation-geiant-9716d6a/packages/mcp-perception/src/index.ts :753
  • perception_embed GNS-Foundation-geiant-9716d6a/packages/mcp-perception/src/index.ts :781
  • perception_weather GNS-Foundation-geiant-9716d6a/packages/mcp-perception/src/index.ts :799
  • gns_get_trust_score GNS-Foundation-geiant-9716d6a/packages/mcp-perception/src/index.ts :840
  • gns_verify_chain GNS-Foundation-geiant-9716d6a/packages/mcp-perception/src/index.ts :872
  • gns_roll_epoch GNS-Foundation-geiant-9716d6a/packages/mcp-perception/src/index.ts :903
  • spatial_query GNS-Foundation-geiant-9716d6a/packages/mcp-postgis/src/index.ts :73
  • h3_to_geojson GNS-Foundation-geiant-9716d6a/packages/mcp-postgis/src/index.ts :129
  • geometry_buffer GNS-Foundation-geiant-9716d6a/packages/mcp-postgis/src/index.ts :183
  • geometry_area GNS-Foundation-geiant-9716d6a/packages/mcp-postgis/src/index.ts :231
  • geometry_distance GNS-Foundation-geiant-9716d6a/packages/mcp-postgis/src/index.ts :273
  • geometry_within GNS-Foundation-geiant-9716d6a/packages/mcp-postgis/src/index.ts :314
  • jurisdiction_lookup GNS-Foundation-geiant-9716d6a/packages/mcp-postgis/src/index.ts :359
  • geometry_store GNS-Foundation-geiant-9716d6a/packages/mcp-postgis/src/index.ts :421
  • geometry_at GNS-Foundation-geiant-9716d6a/packages/mcp-postgis/src/index.ts :454
  • geometry_diff GNS-Foundation-geiant-9716d6a/packages/mcp-postgis/src/index.ts :481
  • validate_coordinates GNS-Foundation-geiant-9716d6a/packages/mcp-postgis/src/index.ts :511

declared dependencies 5

  • tsx@^4.0.0
  • @types/node@^20.0.0
  • eslint@^8.0.0
  • typescript@^5.3.0
  • vitest@^2.1.0

perm:untrusted 1

  • untrusted (weak) GNS-Foundation-geiant-9716d6a/packages/mcp-perception/test/phase5_1_3_4_e2e.mjs :32 const h0 = await fetch(`${BASE}/health`).then(r => r.json());

transport_posture 3

  • network-listening, binds all interfaces, no auth detected GNS-Foundation-geiant-9716d6a/apps/router/src/index.ts :256 app.listen(PORT, '0.0.0.0', () => {
  • binds all interfaces (0.0.0.0) GNS-Foundation-geiant-9716d6a/packages/mcp-agentcore/src/index.ts :422 app.listen(PORT, '0.0.0.0', () => {
  • binds all interfaces (0.0.0.0) GNS-Foundation-geiant-9716d6a/packages/mcp-perception/src/index.ts :1120 app.listen(PORT, '0.0.0.0', () => {