Skip to main content
Glama
Refract MCP Server
by Rinneway

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LLM_API_KEYYesAPI key for the LLM endpoint.
LLM_BASE_URLNoEndpoint for the OpenAI-compatible LLM API; several, comma-separated, are tried in order.https://api.openai.com/v1
REFRACT_MODELNoModel for tagging, planning, drafting, revising and chat.gpt-4o-mini
REFRACT_DATA_DIRNoFolder with `profiles/`, `events/`, and `knowledge/`.examples/demo
REFRACT_LANGUAGENoLanguage of insights: `ru` or `en`.ru
REFRACT_VERIFIER_MODELNoModel for the review step and default judge; another family is better.= REFRACT_MODEL
REFRACT_EMBEDDING_MODELNoEnables hybrid BM25 + dense retrieval.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

Refract explains what a news item means for a specific subject (a company, a sole proprietor, a self-employed person or a private individual). Call list_profiles first, then analyze_news with a profile_id and either an event_id or the news title and text. Every statement in the result is tagged as a fact, the institution's view, an AI inference or a hypothesis, with its sources.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_profilesC

Subjects available for analysis: id, kind and a short summary.

get_profileC

The full profile of a subject as JSON.

news_feedA

Which stored news concern the subject, strongest links first — ranked by code, with the reason for each. since: YYYY-MM-DD. Use analyze_news on an event_id from the list to get the full insight.

list_eventsC

Latest news events in the store.

analyze_newsC

Run the agent: what the news means for the subject. Give an event_id, or a title and text. role: owner, ceo, cfo, chief_accountant, treasurer, entrepreneur, individual, other. language: ru or en.

ask_followupC

A follow-up question about an insight produced in this session.

get_traceB

How an insight was produced: every tool call and model call with timing, cost and review findings.

search_researchC

Search the institution's research documents.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3/5.0

Scored across 8 tools

Disambiguation3/5

Most tools are distinct (analyze_news, ask_followup, get_trace, search_research), but news_feed and list_events both surface news items and their boundary is fuzzy — one ranks by relevance to a subject, the other returns latest events, and news_feed's description even references an ambiguous 'list'. An agent must read carefully to pick between them, and analyze_news's event_id input could come from either.

Naming Consistency4/5

Seven of eight tools follow a verb_noun pattern (list_events, get_profile, analyze_news, ask_followup, get_trace, search_research, list_profiles), which is predictable and readable. news_feed is the single noun-style outlier, a minor deviation.

Tool Count5/5

Eight tools is well-scoped for a news-analysis agent service: discovery (list_profiles, list_events, search_research), retrieval (get_profile, news_feed), analysis (analyze_news, ask_followup), and observability (get_trace). Each earns its place without padding.

Completeness3/5

Core workflow (find subject → find events → analyze → follow up → inspect trace) is covered, but there is no way to fetch a single event's details directly, and ask_followup is explicitly session-bound, so prior insights cannot be retrieved in later sessions. Read-only profiles and no event ingestion may be intentional, but the surface has notable gaps.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues