Arete
БесплатноНе проверенMCP (Model Context Protocol) server wrapping Arete streams for AI agent integration
Описание
MCP (Model Context Protocol) server wrapping Arete streams for AI agent integration
README
Real-time streaming data pipelines for Solana - transform on-chain events into typed state projections.
Packages
| Package | Language | Registry | Description |
|---|---|---|---|
| arete | Rust | crates.io | Umbrella crate re-exporting all components |
| arete-interpreter | Rust | crates.io | AST transformation runtime and VM |
| arete-macros | Rust | crates.io | Proc-macros for stream definitions |
| arete-server | Rust | crates.io | WebSocket server and projection handlers |
| arete-sdk | Rust | crates.io | Rust client SDK |
| a4-cli | Rust | crates.io | CLI tool for SDK generation |
| arete-idl | Rust | crates.io | IDL parsing and type system |
| arete-hash | Rust | crates.io | Typed artifact identity and canonical hashing protocol |
| arete-artifacts | Rust | crates.io | Versioned public artifact schemas and legacy normalization |
| @usearete/hash | TypeScript | npm | TypeScript implementation of the artifact identity protocol |
| @usearete/sdk | TypeScript | npm | Pure TypeScript SDK (framework-agnostic) |
| @usearete/react | TypeScript | npm | React SDK with hooks |
| @usearete/adapter-kit | TypeScript | npm | Wallet adapter for @solana/kit |
| @usearete/adapter-web3js | TypeScript | npm | Wallet adapter for @solana/web3.js |
| arete-sdk | Python | PyPI | Python client SDK (work in progress - not yet published) |
Quick Start
Rust
Add to your Cargo.toml:
[dependencies]
arete = "0.5"
TypeScript (Core)
npm install @usearete/sdk
TypeScript / React
npm install @usearete/react @usearete/sdk zod
Generated React consumers use the React hooks, core SDK types, and generated Zod schemas. zustand is a normal dependency of @usearete/react; applications do not install it separately.
Hosted browser stacks require authentication. For the hosted ORE stack, set VITE_ARETE_PUBLISHABLE_KEY and pass it to the provider as auth={{ publishableKey }}. Read-only viewing does not require a wallet, but it does require the publishable key.
Python
Note: The Python SDK is a work in progress and has not yet been published to PyPI.
# Coming soon
pip install arete-sdk
Artifact and Runtime Model
Arete keeps portable behavior separate from the infrastructure that serves it:
| Concept | What it represents |
|---|---|
| ProgramSpec | Portable program identity: program ID, normalized public IDL, account and instruction definitions, PDAs, and compatibility hashes. It contains no endpoint or managed decoder binding. |
| LiveSpec | Entities, mappings, handlers, computed fields, resolvers, and views over exact ProgramSpecs. |
| StackManifest | A client-facing composition of ProgramSpecs and aliased LiveSpecs, including the exact selected views. It contains no deployment URL. |
| Program Release | A hosted, immutable binding from one ProgramSpec to managed decoder behavior. Changing decoder semantics creates a new release. |
| Deployment | A hosted runtime prepared for one exact StackManifest. Images, regions, replicas, and rollout state belong here rather than in portable artifacts. |
| Binding | An operational endpoint and authentication attachment for a live deployment, Program Read release, chain reader, or transaction relay. Bindings can change without changing portable artifact hashes. |
The Rust DSL writes authoritative artifacts directly during compilation:
cargo build
# Typical outputs:
# .arete/<program>.program-spec.json
# .arete/<StackName>.live-spec.json
# .arete/<StackName>.stack-manifest.json
An IDL-only module generates ProgramSpecs, a zero-live StackManifest, and a
program-only spec() with generated account readers:
use arete::prelude::*;
#[arete(idl = ["idl/my_program.json"])]
mod my_program {}
let spec = my_program::spec();
Local spec() generation derives release fingerprints automatically from each
ProgramSpec and the generated decoder-engine contract. An OSS server does not
select or publish a hosted Program Release.
Use the explicit artifacts for CLI workflows:
# Create a standalone ProgramSpec directly from an IDL.
a4 program build ./idl/my_program.json \
--output ./.arete/my_program.program-spec.json
# Compose one or more LiveSpecs under stable aliases. Repeating
# --selected-view creates the exact ordered client allowlist.
a4 stack compose --name my-app \
--live core=./.arete/Core.live-spec.json \
--artifact-dir ./.arete \
--selected-view core=Position/list \
--output ./.arete/MyApp.stack-manifest.json
# Generate local source, or deploy the exact manifest.
a4 sdk create --manifest ./.arete/MyApp.stack-manifest.json --ts
a4 sdk create --manifest ./.arete/MyApp.stack-manifest.json --rust
a4 up ./.arete/MyApp.stack-manifest.json
# Install a hosted SDK pinned to a published Program Release and read binding.
a4 install program spl-token --ts
# Inspect the same deployment-pinned descriptors before installing.
a4 explore stack ore --json
a4 explore programs --json
a4 explore program spl-token --json
A composed client keeps each aliased LiveSpec's live transport and each program's Program Read transport independent. Chain reads and transaction submission are separate transports as well; do not infer one endpoint from another.
a4 sdk create writes local source only. Publishing generated packages to npm
or crates.io is an explicit operator action. Likewise, deployment produces
endpoint bindings, not a required DNS provider: operators hand those endpoints
to their chosen DNS/CDN provider and manage records and certificates there.
Legacy compatibility: Composite
.stack.jsonfiles are input-only compatibility artifacts through August 31, 2026. Usea4 live build <legacy.stack.json>to normalize one; new authoring, SDK generation, and deployment should use ProgramSpec, LiveSpec, and StackManifest files.
Repository Structure
arete/: Main umbrella crateinterpreter/: AST transformation runtime and VMarete-macros/: Proc-macros for stream definitionsarete-idl/: IDL parsing and type systemrust/arete-server/: WebSocket server and projection handlersrust/arete-a4-sdk/: Rust client SDKcli/: CLI tool for SDK generationtypescript/core/: Pure TypeScript SDKtypescript/react/: React SDK with hookstypescript/adapters/: Wallet adapters for@solana/kitand@solana/web3.jspython/arete-sdk/: Python client SDKstacks/: Stack implementations and local SDK generation configpackages/: Additional packagesexamples/: Example projects
Releasing
This repo uses release-please for automated releases.
How it works
Make commits using conventional commit format:
feat: add new feature- triggers minor version bumpfix: resolve bug- triggers patch version bumpfeat!: breaking change- triggers major version bumpchore:,docs:,refactor:- no version bump
Push to
main- release-please automatically creates/updates a Release PRMerge the Release PR - this:
- Updates
CHANGELOG.mdin affected packages - Bumps versions in
Cargo.toml,package.json,pyproject.toml - Creates a GitHub Release with a unified version tag
- Triggers publish workflows to crates.io, npm, and PyPI
- Updates
Configuration
| File | Purpose |
|---|---|
release-please-config.json |
Package definitions and release settings |
.release-please-manifest.json |
Tracks current version of each package |
Synchronized Versions
All packages (Rust and TypeScript) are kept at the same version number using the linked-versions plugin. When any package receives a version bump, all packages are updated to the highest version in the group. This ensures compatibility when using packages individually.
Note:
arete-idlis currently versioned independently.
Tag format
Tags follow the pattern v{version} (e.g., v0.5.10). Since all packages are version-synchronized, a single tag represents all packages in the release.
Development
Prerequisites
- Rust: 1.70+ (install via rustup)
- Node.js: 16+ (for TypeScript SDK)
- Python: 3.9+ (for Python SDK)
Building from Source
# Clone the repository
git clone https://github.com/AreteA4/arete.git
cd arete
# Build all Rust packages
cargo build --workspace
# Build TypeScript SDKs
cd typescript/core && npm install && npm run build
cd ../react && npm install && npm run build
# Install Python SDK in development mode
cd python/arete-sdk && pip install -e .
Running Tests
# Rust tests
cargo test --workspace
# Rust linting
cargo clippy --workspace -- -D warnings
# TypeScript tests
cd typescript/core && npm test
cd ../react && npm test
# Python tests
cd python/arete-sdk && pytest
Project Structure
arete/
├── arete/ # Rust umbrella crate
├── interpreter/ # AST transformation runtime and VM
├── arete-macros/ # Proc-macros for stream definitions
├── arete-idl/ # IDL parsing and type system
├── cli/ # CLI tool (a4-cli)
├── rust/
│ ├── arete-sdk/ # Rust client SDK
│ └── arete-server/ # WebSocket server
├── typescript/
│ ├── core/ # Pure TypeScript SDK (@usearete/sdk)
│ ├── react/ # React SDK (@usearete/react)
│ └── adapters/ # Solana wallet adapters
├── python/arete-sdk/ # Python client SDK
├── stacks/ # Stack implementations and SDKs
├── packages/ # Additional packages
├── examples/ # Example projects
└── docs/ # Documentation (MDX)
Documentation
- Concepts Overview - Architecture and core concepts
- Stack API - Client-side API reference
- CLI Commands - CLI usage guide
- React SDK - Getting started with React
Contributing
We welcome contributions! Here's how to get started:
Development Workflow
- Fork the repository
- Create a feature branch (
git checkout -b feat/my-feature) - Make your changes
- Run tests (
cargo test --workspace) - Commit using conventional commits format
- Open a pull request
Commit Message Format
We use conventional commits for automated releases:
| Prefix | Purpose | Version Bump |
|---|---|---|
feat: |
New feature | Minor |
fix: |
Bug fix | Patch |
feat!: or fix!: |
Breaking change | Major |
docs: |
Documentation only | None |
chore: |
Maintenance | None |
refactor: |
Code refactoring | None |
Code Style
- Rust: Follow
rustfmtdefaults, passclippywith no warnings - TypeScript: Follow ESLint configuration in
typescript/ - Python: Follow PEP 8
License
This project uses a dual license approach:
- Rust infrastructure (arete, interpreter, arete-macros, server, cli): Apache-2.0
- Client SDKs (TypeScript, Python, Rust SDK): MIT
Установка Arete
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/AreteA4/areteFAQ
Arete MCP бесплатный?
Да, Arete MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Arete?
Нет, Arete работает без API-ключей и переменных окружения.
Arete — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Arete в Claude Desktop, Claude Code или Cursor?
Открой Arete на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzMCP-Agent
A simple, composable framework to build agents using Model Context Protocol by [LastMile AI](https://www.lastmileai.dev)
автор: lastmile-aiSpring AI MCP Client
Provides auto-configuration for MCP client functionality in Spring Boot applications.
mcp.natoma.ai
A Hosted MCP Platform to discover, install, manage and deploy MCP servers by [Natoma Labs](https://www.natoma.ai)
MCPHub
Website to list high quality MCP servers and reviews by real users. Also provide online chatbot for popular LLM models with MCP server support.
MCP Servers Rating and User Reviews
Website to rate MCP servers, write authentic user reviews, and [search engine for agent & mcp](http://www.deepnlp.org/search/agent)
mkinf
An Open Source registry of hosted MCP Servers to accelerate AI agent workflows.
Compare Arete with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
