OSINT MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_messagesA | Search Telegram messages with full-text search and 15+ filters. Supports filtering by channel, date, importance (high/medium/low), topic, media type, language, minimum views/forwards, and channel folder. |
| get_messageA | Get detailed message by ID with full enrichment: content, media, AI tags, entities, locations, social graph data. |
| get_message_albumA | Get media album for a message (grouped photos/videos for lightbox display). |
| get_message_networkB | Get entity relationship graph for a message - locations, persons, organizations, military units, AI tags. Flowsint-compatible visualization. |
| get_message_timelineB | Get temporal context for a message - messages before/after, semantically similar, or from same event cluster. |
| semantic_searchC | AI-powered semantic search using 384-dim vector embeddings. Find messages by meaning, not just keywords. |
| find_similar_messagesC | Find messages similar to a given message using AI embeddings. Useful for tracking narratives. |
| get_tagsB | Get popular AI-generated tags ranked by frequency. Tags include keywords, topics, entities, emotions, urgency. |
| search_by_tagsB | Search messages by AI tags with AND/OR logic. |
| unified_searchB | Search across ALL data sources: Telegram messages, events, RSS articles, and entities. Supports text and semantic modes. |
| list_channelsB | List monitored Telegram channels. Filter by rule (archive_all, selective_archive), folder, verified status. |
| get_channelB | Get detailed channel information including metadata, affiliation, and timestamps. |
| get_channel_statsB | Get channel statistics: message counts, spam rate, importance distribution, topic breakdown. |
| get_channel_networkB | Build content network graph for a channel - semantic relationships, topic clusters, hub nodes. |
| get_message_social_graphA | Get complete social context: author, forwards, replies, comments, reactions, engagement metrics, virality. |
| get_channel_influenceB | Get channel-to-channel forward relationships with coordination detection. |
| get_influence_networkB | Get platform-wide influence network - channels that forward to each other. |
| get_engagement_timelineB | Get engagement metrics over time for a message (views, forwards, reactions with deltas). |
| get_message_commentsC | Get comment thread from linked discussion group. |
| get_top_forwardedC | Get viral content leaderboard - most forwarded messages. |
| get_top_influencersC | Get top influencer profiles with interaction metrics. |
| search_entitiesA | Search entities (people, orgs, equipment, military units). Sources: curated (1,425+) and OpenSanctions (10,000+). |
| get_entityA | Get entity profile with metadata, aliases, and linked content counts. |
| get_entity_relationshipsB | Get entity relationships from Wikidata SPARQL - corporate connections, political positions, associates. |
| get_entity_mentionsB | Get messages that mention a specific entity. |
| list_eventsB | List detected events (message clusters). Filter by tier: rumor, unconfirmed, confirmed, verified. |
| get_event_statsC | Get event statistics - counts by tier, type, and status. |
| get_eventC | Get event details with contributing channels, messages, and RSS sources. |
| get_event_timelineB | Get chronological timeline combining RSS articles and Telegram messages for an event. |
| get_events_for_messageB | Get events linked to a specific message. |
| get_timeline_statsC | Get message volume over time. Supports hour/day/week/month/year granularity. |
| get_topic_distributionC | Get distribution of messages across topics. |
| get_language_distributionC | Get language distribution of messages. |
| get_channel_analyticsC | Get per-channel performance metrics with daily breakdowns. |
| get_activity_heatmapB | Get daily message activity for calendar heatmap visualization. |
| get_entity_analyticsC | Get entity mention analytics - most mentioned entities over time. |
| get_media_analyticsB | Get media archival statistics with deduplication metrics. |
| get_map_messagesA | Get geolocated messages as GeoJSON. Supports server-side clustering and bounding box filtering. |
| get_map_clustersC | Get event clusters with geographic locations by verification tier. |
| get_map_eventsB | Get confirmed events only for map display. |
| get_map_heatmapC | Get density aggregation for heatmap visualization. |
| suggest_locationsB | Location name autocomplete from 30,000+ UA/RU locations in GeoNames gazetteer. |
| reverse_geocodeB | Find nearest location to coordinates. |
| get_unified_streamA | Get unified intelligence feed combining Telegram messages and RSS articles. |
| validate_messageA | Cross-reference a Telegram message with RSS news articles. Returns validation status: confirms, contradicts, context, alternative. |
| get_message_correlationsB | Get RSS articles correlated with a message - grouped by same_event, related, alternative_viewpoints. |
| get_media_galleryC | Browse media gallery with filters by channel, type, date, and importance. |
| get_platform_dashboardB | Get platform overview: message counts, channels, entities, storage, spam rate, LLM metrics. |
| get_platform_stats_overviewB | Get comprehensive platform stats: pipeline health, LLM performance, totals, service health. Cached 30s. |
| get_data_quality_statsB | Get data quality metrics: translation coverage, embedding coverage, classification rate, media archive rate, geolocation coverage. |
| get_processing_statsC | Get hourly processing metrics: total messages, spam count, classified, average latency. |
| get_storage_statsA | Get storage breakdown by database tables and media types. |
| get_worker_statsA | Get Redis queue status: queue length, consumers, pending messages, worker health. |
| get_enrichment_tasksA | Get enrichment task status (translation, entity_matching, embedding, event_detection, ai_tagging, etc.). |
| get_cache_statsA | Get Redis cache statistics: memory usage, hit rates, connections. |
| get_audit_statsA | Get LLM decision audit statistics: total decisions, verification rates, performance metrics. |
| get_spam_statsA | Get spam statistics: total, pending review, false positives, true positives, 24h rate, by type. |
| get_channels_admin_statsB | Get channel inventory stats: total, active, verified, by affiliation/folder/rule/source. |
| get_entities_admin_statsB | Get entity catalog stats: total, with embeddings/coordinates, by type/source, top mentioned. |
| get_rss_feeds_statsA | Get RSS feed stats: total, active, failing, by category/trust level, article counts. |
| get_llm_prompts_statsA | Get LLM prompt statistics: total, active, usage count, avg latency, errors, by task. |
| get_viral_postsB | Get list of viral posts being tracked for enhanced comment fetching. |
| get_system_healthB | Basic API health check. |
| get_hardware_configA | Get hardware auto-detection: CPU cores, RAM, GPU, tier (laptop/server/gpu variants), LLM model config. |
| get_system_statusB | Get detailed system status including all service health. |
| get_metrics_overviewC | Get platform KPIs overview. |
| get_metrics_llmB | Get LLM/Ollama performance metrics. |
| get_metrics_pipelineB | Get real-time pipeline status metrics. |
| get_metrics_servicesC | Get per-service health metrics. |
| list_llm_modelsA | List configured LLM models (6 runtime-switchable models). |
| get_llm_model_healthB | Check health of LLM models (Ollama availability). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| investigate_entity | Investigate a person, organization, or military unit. Searches both curated entities and OpenSanctions, finds relationships, and retrieves recent mentions in Telegram messages. |
| validate_claim | Fact-check a Telegram message by cross-referencing with RSS news sources. Returns whether the claim is confirmed, contradicted, or unverified. |
| track_event | Track an emerging event by finding related messages across channels, building the event timeline, and showing the verification tier progression. |
| analyze_channel | Deep analysis of a Telegram channel: statistics, influence network, top topics, forwarding relationships, and recent high-importance messages. |
| trace_narrative | Trace how a narrative spreads across channels using semantic similarity. Find the original message and track its propagation through forwards. |
| daily_briefing | Generate a daily intelligence briefing: high-importance messages, confirmed events, trending topics, and any system alerts. |
| geographic_sitrep | Situation report for a geographic area: geolocated messages, event clusters, and activity heatmap. |
| platform_health_check | Check platform health: worker queues, enrichment tasks, data quality, LLM performance, and any processing issues. |
| find_viral_content | Find viral content: most forwarded messages, top influencers, and coordinated amplification patterns. |
| discover_connections | Discover hidden connections: entity relationships, channel influence networks, and cross-affiliation patterns. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Getting Started Guide | Introduction to the OSINT platform and common workflows |
| Topic Classification Reference | The 13 topic categories used for message classification |
| Event Tier Reference | Event verification tiers and progression criteria |
| Entity Types Reference | Entity types and sources (curated, OpenSanctions, Wikidata) |
| Channel Affiliations Reference | Channel affiliation types and source categories |
| Geolocation Pipeline Reference | 4-stage geolocation pipeline and confidence scores |
| Investigation Workflows | Step-by-step workflows for common investigation tasks |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/osintukraine/osint-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server