
Semantic Frame
io.github.Anarkitty1由 GitHub 账号 Anarkitty1 发布v0.2.1更新于 Nov 3, 2026
Token-efficient semantic compression for numerical data. 95%+ token reduction.
概览
把数值数据序列压缩成简短的自然语言摘要,让助手无需原始数据即可了解趋势、波动与异常。
- 可以做什么
- 分析单条数值序列,返回包含趋势、波动、异常、季节性、分布、阶跃变化与数据质量的简短叙述
- 一次调用分析多条序列或 DataFrame 的全部数值列
- 以结构化 JSON 而非文字形式返回结果,便于后续处理
- 执行交易类分析:回撤、绩效指标、排名、多时间窗口、市场状态与配置建议
- 适用场景
- 适合助手需要解读大量数值数据(如监控指标、传感器读数、销售数据或价格序列),同时希望控制上下文长度并避免算术猜测的场景。也适用于需要以文字形式获得确定性统计摘要的智能体流程。
- 运行要求
- 以本地 Python 包形式运行,通过 pip 或 uv 安装,MCP 服务器需安装 mcp 附加组件。未声明需要账号、API 密钥或环境变量。README 中给出通过 uvx 或 mcp run 启动的方式。
安装
在 SourceWeft 中
- 打开 控制台中的 Semantic Frame,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Semantic Frame
[MCP Registry] [PyPI version] [License: MIT]
Token-efficient semantic compression for numerical data.
Semantic Frame converts raw numerical data (NumPy, Pandas, Polars) into natural language descriptions optimized for LLM consumption. Instead of sending thousands of data points to an AI agent, send a 50-word semantic summary.
The Problem
LLMs are terrible at arithmetic. When you send raw data like [100, 102, 99, 101, 500, 100, 98] to GPT-4 or Claude:
- Token waste: 1000 data points = ~2000 tokens
- Hallucination risk: LLMs guess trends instead of calculating them
- Context overflow: Large datasets fill the context window
The Solution
Semantic Frame provides deterministic analysis using NumPy, then translates results into token-efficient narratives:
Output:
Result: 95%+ token reduction, zero hallucination risk.
Installation
Or with uv:
🤖 Claude Integration (MCP)
Semantic Frame is available on the official MCP Registry, enabling direct integration with Claude.
Claude Code CLI:
Claude Desktop - Add to your claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Once configured, Claude can use these tools:
describe_data- Analyze a single data seriesdescribe_batch- Analyze multiple series at oncedescribe_json- Get structured JSON output
Quick Start
Analyze a Series
Analyze a DataFrame
Get Structured Output
JSON Output for APIs
Supported Data Types
- NumPy:
np.ndarray - Pandas:
pd.Series,pd.DataFrame - Polars:
pl.Series,pl.DataFrame - Python:
list
Analysis Features
LLM Integration
System Prompt Injection
LangChain Tool Output
Multi-Column Agent Context
Framework Integrations
Anthropic Claude (Native Tool Use)
LangChain
CrewAI
MCP (Model Context Protocol)
Run the MCP server:
Exposes describe_data tool for MCP clients like:
- ElizaOS: TypeScript-based agent framework
- Claude Desktop: Anthropic's desktop app
- Claude Code: Anthropic's CLI for Claude
- Any MCP-compatible client
Claude Code
Add Semantic Frame as a native tool in Claude Code:
Once configured, ask Claude to analyze data and it will use the describe_data tool automatically.
Advanced Tool Use (Beta)
Semantic Frame supports Anthropic's Advanced Tool Use features for efficient tool orchestration in complex agent workflows.
Features
Quick Start (Advanced)
Configuration Options
MCP Batch Analysis
See docs/advanced-tool-use.md for complete documentation.
Use Cases
Crypto Trading
DevOps Monitoring
Sales Analytics
IoT Sensor Data
📈 Trading Module (v0.4.0)
Specialized semantic analysis for trading agents, portfolio managers, and financial applications.
Trading Tools
Quick Examples
MCP Integration
All trading tools are available via MCP:
Tools: describe_drawdown, describe_trading_performance, describe_rankings, describe_anomalies, describe_windows, describe_regime, describe_allocation
📖 Full Trading Documentation | Quick Reference
API Reference
describe_series(data, context=None, output="text")
Analyze a single data series.
Parameters:
data: Input data (NumPy array, Pandas Series, Polars Series, or list)context: Optional label for the data (appears in narrative)output: Format -"text"(string),"json"(dict), or"full"(SemanticResult)
Returns: Semantic description in requested format.
describe_dataframe(df, context=None)
Analyze all numeric columns in a DataFrame.
Parameters:
df: Pandas or Polars DataFramecontext: Optional prefix for column context labels
Returns: Dict mapping column names to SemanticResult objects.
SemanticResult
Full analysis result with:
narrative: Human-readable text descriptiontrend: TrendState enumvolatility: VolatilityState enumdata_quality: DataQuality enumanomaly_state: AnomalyState enumanomalies: List of AnomalyInfo objectsseasonality: Optional SeasonalityStatedistribution: Optional DistributionShapestep_change: Optional StructuralChange (STEP_UP, STEP_DOWN, NONE)step_change_index: Optional int (index where step change occurred)profile: SeriesProfile with statisticscompression_ratio: Token reduction ratio
Development
License
MIT License - see LICENSE file.
来源:README.md,提交 4dfd560
工具
0版本历史
1- v0.2.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分