Arkon: Enterprise AI Knowledge Hub & MCP Server. Self-hosted knowledge base for teams to manage RAG contexts, access policies, and AI skills. Connect Claude and other LLMs via Model Context Protocol (MCP) for automated, secure organizational knowledge integration.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport — 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 5e4069d · analyzer v17 · 2d ago
skills & prompt files 6
- agent-rulesnduckmink-arkon-5e4069d/CLAUDE.md
- agent-rulesnduckmink-arkon-5e4069d/frontend/AGENTS.md
- agent-rulesnduckmink-arkon-5e4069d/frontend/CLAUDE.md
- skillnduckmink-arkon-5e4069d/skills/arkon-edit/SKILL.md
- skillnduckmink-arkon-5e4069d/skills/arkon-query/SKILL.md
- skillnduckmink-arkon-5e4069d/skills/arkon-review/SKILL.md
evidence-backed
findings quoted directly from the published source artifact — not inferred
filesystem 6
- fs nduckmink-arkon-5e4069d/alembic/env.py :8
from pathlib import Path - fs nduckmink-arkon-5e4069d/app/scripts/seed_skills.py :12
from pathlib import Path - fs nduckmink-arkon-5e4069d/app/services/image_service.py :68
doc = fitz.open(stream=file_data, filetype="pdf") - fs nduckmink-arkon-5e4069d/app/services/kb_service.py :230
doc = fitz.open(stream=file_data, filetype="pdf") - fs nduckmink-arkon-5e4069d/app/services/skill_service.py :47
with zf.open(info) as f: - fs nduckmink-arkon-5e4069d/app/worker.py :403
with local_zf.open(member_name) as f_stream:
network 3
- net nduckmink-arkon-5e4069d/app/routers/oauth.py :12
from urllib.parse import urlencode - net nduckmink-arkon-5e4069d/app/services/kb_service.py :356
import httpx - net nduckmink-arkon-5e4069d/app/services/notification_dispatch.py :33
import httpx
database 91
- db nduckmink-arkon-5e4069d/alembic/env.py :13
from sqlalchemy import pool - db nduckmink-arkon-5e4069d/alembic/versions/001_initial_schema.py :10
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/002_add_progress.py :5
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/002_rbac.py :6
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/004_add_projects.py :8
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/005_add_custom_roles.py :8
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/006_wiki_pivot.py :8
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/007_scope_rbac.py :8
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/008_workspace_type.py :8
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/009_drop_contacts.py :21
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/011_permission_v2.py :14
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/012_add_skill.py :8
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/013_wiki_user_contributions.py :8
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/014_wiki_draft_revision.py :8
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/015_multi_dim_embeddings.py :24
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/016_source_images.py :13
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/017_add_skill_contributions.py :10
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/018_drop_skill_description.py :11
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/019_skill_is_system.py :11
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/020_mrp_pipeline.py :16
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/021_oauth_tables.py :10
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/022_stats_tables.py :14
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/023_drafts_base_version_and_wikilink_scope.py :16
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/024_contribution_lifecycle.py :16
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/025_ai_pre_review_and_create_drafts.py :17
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/027_hash_mcp_tokens.py :23
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/028_employee_departments_m2m.py :17
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/029_source_extracted_token_count.py :15
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/030_source_auto_recover_count.py :16
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/031_pivot_general_wiki_pages.py :10
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/033_add_wiki_branches.py :10
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/034_simplify_auth_fixed_roles.py :10
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/035_remove_workspace_module.py :10
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/alembic/versions/036_verbatim_sources.py :21
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/app/ai/mrp/mapper.py :20
from sqlalchemy import select - db nduckmink-arkon-5e4069d/app/ai/mrp/pipeline.py :20
from sqlalchemy import select - db nduckmink-arkon-5e4069d/app/ai/mrp/reducer.py :20
from sqlalchemy import select - db nduckmink-arkon-5e4069d/app/ai/mrp/verifier.py :16
from sqlalchemy.ext.asyncio import AsyncSession - db nduckmink-arkon-5e4069d/app/ai/mrp/writer.py :21
from sqlalchemy.ext.asyncio import AsyncSession - db nduckmink-arkon-5e4069d/app/ai/registry.py :29
from sqlalchemy.ext.asyncio import AsyncSession - db nduckmink-arkon-5e4069d/app/ai/wiki_agent.py :14
from sqlalchemy.ext.asyncio import AsyncSession - db nduckmink-arkon-5e4069d/app/ai/wiki_agent_tools.py :14
from sqlalchemy import select - db nduckmink-arkon-5e4069d/app/ai/wiki_compiler.py :26
from sqlalchemy import select - db nduckmink-arkon-5e4069d/app/database/__init__.py :7
from sqlalchemy.ext.asyncio import ( - db nduckmink-arkon-5e4069d/app/database/models.py :15
from sqlalchemy import ( - db nduckmink-arkon-5e4069d/app/database/oauth_models.py :13
from sqlalchemy import Boolean, DateTime, ForeignKey, String, Text, func - db nduckmink-arkon-5e4069d/app/database/repository.py :8
from sqlalchemy import delete, func, select, update - db nduckmink-arkon-5e4069d/app/main.py :23
from sqlalchemy import select - db nduckmink-arkon-5e4069d/app/mcp/tools.py :18
from sqlalchemy.ext.asyncio import AsyncSession - db nduckmink-arkon-5e4069d/app/routers/admin_embeddings.py :19
from sqlalchemy import func, select, update - db nduckmink-arkon-5e4069d/app/routers/admin_models.py :18
from sqlalchemy.ext.asyncio import AsyncSession - db nduckmink-arkon-5e4069d/app/routers/admin_settings.py :9
from sqlalchemy.ext.asyncio import AsyncSession - db nduckmink-arkon-5e4069d/app/routers/admin_stats.py :21
from sqlalchemy import and_, select - db nduckmink-arkon-5e4069d/app/routers/audit.py :11
from sqlalchemy import desc, func, select, text - db nduckmink-arkon-5e4069d/app/routers/auth.py :14
from sqlalchemy import select - db nduckmink-arkon-5e4069d/app/routers/knowledge_types.py :14
from sqlalchemy import select - db nduckmink-arkon-5e4069d/app/routers/notes.py :10
from sqlalchemy.ext.asyncio import AsyncSession - db nduckmink-arkon-5e4069d/app/routers/notifications.py :14
from sqlalchemy import func, select, update - db nduckmink-arkon-5e4069d/app/routers/oauth.py :16
from sqlalchemy.ext.asyncio import AsyncSession - db nduckmink-arkon-5e4069d/app/routers/rbac.py :11
from sqlalchemy import select - db nduckmink-arkon-5e4069d/app/routers/scopes.py :17
from sqlalchemy import select - db nduckmink-arkon-5e4069d/app/routers/skill_contributions.py :15
from sqlalchemy import select - db nduckmink-arkon-5e4069d/app/routers/skills.py :8
from sqlalchemy import select - db nduckmink-arkon-5e4069d/app/routers/sources.py :16
from sqlalchemy import delete as sql_delete - db nduckmink-arkon-5e4069d/app/routers/wiki.py :19
from sqlalchemy import and_, or_, select - db nduckmink-arkon-5e4069d/app/routers/wiki_branches.py :11
from sqlalchemy import and_, func, select - db nduckmink-arkon-5e4069d/app/routers/wiki_drafts.py :14
from sqlalchemy import and_, or_, func, select - db nduckmink-arkon-5e4069d/app/routers/wiki_images.py :15
from sqlalchemy import select - db nduckmink-arkon-5e4069d/app/scripts/seed_skills.py :15
from sqlalchemy import select - db nduckmink-arkon-5e4069d/app/services/ai_review/llm_checks.py :13
from sqlalchemy.ext.asyncio import AsyncSession - db nduckmink-arkon-5e4069d/app/services/ai_review/runner.py :33
from sqlalchemy.ext.asyncio import AsyncSession - db nduckmink-arkon-5e4069d/app/services/ai_review/semantic_checks.py :12
from sqlalchemy.ext.asyncio import AsyncSession - db nduckmink-arkon-5e4069d/app/services/ai_review/structural_checks.py :11
from sqlalchemy import select - db nduckmink-arkon-5e4069d/app/services/audit_service.py :3
from sqlalchemy.ext.asyncio import AsyncSession - db nduckmink-arkon-5e4069d/app/services/auth_service.py :20
from sqlalchemy import select - db nduckmink-arkon-5e4069d/app/services/config_service.py :13
from sqlalchemy import select - db nduckmink-arkon-5e4069d/app/services/contribution_service.py :34
from sqlalchemy.ext.asyncio import AsyncSession - db nduckmink-arkon-5e4069d/app/services/embedding_storage.py :13
from sqlalchemy import delete, select - db nduckmink-arkon-5e4069d/app/services/kb_service.py :16
from sqlalchemy.ext.asyncio import AsyncSession - db nduckmink-arkon-5e4069d/app/services/mcp_auth_service.py :22
from sqlalchemy import exists, or_, select, update - db nduckmink-arkon-5e4069d/app/services/notification_dispatch.py :35
from sqlalchemy.ext.asyncio import AsyncSession - db nduckmink-arkon-5e4069d/app/services/notification_service.py :16
from sqlalchemy import select - db nduckmink-arkon-5e4069d/app/services/oauth_service.py :16
from sqlalchemy import select, update - db nduckmink-arkon-5e4069d/app/services/permission_engine.py :21
from sqlalchemy import select - db nduckmink-arkon-5e4069d/app/services/policy_engine.py :15
from sqlalchemy.ext.asyncio import AsyncSession - db nduckmink-arkon-5e4069d/app/services/skill_service.py :8
import sqlalchemy as sa - db nduckmink-arkon-5e4069d/app/services/stats_aggregator.py :27
from sqlalchemy import and_, distinct, func, not_, select - db nduckmink-arkon-5e4069d/app/services/verbatim_service.py :18
from sqlalchemy import delete - db nduckmink-arkon-5e4069d/app/services/wiki_service.py :20
from sqlalchemy import and_, delete, func, or_, select, text - db nduckmink-arkon-5e4069d/app/worker.py :20
from sqlalchemy import select - db nduckmink-arkon-5e4069d/dedup.py :3
from sqlalchemy import select
declared dependencies 3
- fastapi@>=0.104.0
- uvicorn@>=0.24.0
- python-multipart@>=0.0.9