About
Your pocket helper
README
- Take an action
- Getting started
- Diagrams
- Assemblies
- Tests
- Integrations
- Tech stack
- Deployment and CICD
Take an action
Open the Eclipse https://t.me/eclipse_app_bot!
Press /start button and choose a language you want to use, you'll be able to change it at any time!
Navigate to Settings ⚙️ menu and set your time. Your account is now configured! Here you can change the language as well in case you missclicked at the begninning.)
On Actions 🖋️ you can whether add some todo items📝 or schedule a reminder💭!
On evenings you'll receive the questionnaire with request to rate your mood. Do not hesitate to answer. After a few days you'll be able to visualize it in Reports 📑 menu! Moreover, every sunday evening Eclipse will send you report automatically!
On Reports 📑 you can also find your Statistics 📈 based on how much reminders you received and todo items finished!
In fewer words, go through menu and try everything by yourself!
Getting started
Build solution in docker
Requirements
- Docker
- Ngrok account
- .NET 10
Step by step
Go to docker directory, create here a copy of docker-compose.override.yaml file with name docker-compose.local.yaml.
Follow instructions in this file to build the solution locally.
After entering all required values for your docker-compose.local.yaml file run .\build.ps1 script.
It will take a few minutes to start web api as cosmosdb emulator takes a while to prepare itself for work.
Check eclipse-webapi container logs.
Run .\stop.ps1 script to stop container. It will also remove the image.
MCP
Eclipse exposes an MCP (Model Context Protocol) server that lets AI assistants like Claude manage your todo items, reminders, mood records, and more directly through conversation.
1. Create an API token
API tokens are created through the Eclipse Telegram bot:
- Open @eclipse_app_bot
- Navigate to
Settings ⚙️→API Tokens→Create - Enter a name for the token (e.g.
Claude Desktop) - The bot will send you the token — copy it immediately, it is only shown once
Token format: eclp_ followed by 64 lowercase hex characters
eclp_12w4a8f3b1c9e7d2a5f0b3c6e9d1a4f7b2c5e8d0a3f6b9c2e5d8a1f4b7c0e3d6
Expiration: tokens are valid for 90 days from creation. Generate a new one before it expires and update your MCP configuration.
2. Configure your MCP client
Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"eclipse": {
"command": "dnx",
"args": ["Eclipse", "--version", "0.1.5-beta", "--yes"],
"env": {
"ECLIPSE_API_TOKEN": "eclp_<your-token>"
}
}
}
}
VS Code — add to .vscode/mcp.json in your workspace:
{
"servers": {
"eclipse": {
"type": "stdio",
"command": "dnx",
"args": ["Eclipse", "--version", "0.1.5-beta", "--yes"],
"env": {
"ECLIPSE_API_TOKEN": "eclp_<your-token>"
}
}
}
}
See mcp/Eclipse.MCP/README.md for the full list of available tools and additional configuration options.
Diagrams
Infrastructure
Service communication within Azure done using Managed Identity.
Outbox and Inbox messages processing
Authorization flow
For end user works as MFA-like flow, where instead of password user uses short-lived autogenerated sign in code.
For administration purposes EntraID identity provider used!
Pipeline concept
This diagram shows how pipeline concept works and how user message proccedes:
Assembly references
Assemblies
General
Basically solution follows Clean Architecture. WebAPI is a presentation layer. Application and Application.Contracts represents use-cases splitted into different assemblies where the first contains implementations and the last one defines public api. Domain and Domain.Shared represents the domain of the application, where the last one contains some domain specific definitions such as enums, constant values etc, which can be shared throughout whole solution. Infrastructure, as probably expected, contains implementations of logic-agnostic abstractions, like cache, background job manager etc. DataAccess responsibility is data persistance and defined in Domain repositories implementations. Common contains general extension methods and application-agnostic abstractions.
Nevertheless there're some assemblies which worth to mention separatelly.
Core
In general represents some sort of mini-framework for building multiple-actions pipelines which requires user interaction with bunch of additional setup. Allows creation of different providers for stores.
Pipelines
Contain logic with telegram interaction. In other words it is available for end user functionality. This assembly uses Core for building new features.
Localization
Built on top of Microsoft.Extensions.Localization custom engine to work with json files as resource source with bunch of useful stuff. Additionally provides an api which allows you to use another culture in disposable scope.
Tests
Each Test project reference base Eclipse.Tests assembly, that provides helpers which used through all tests.
Each layer has own test project.
Integration tests also isolated in separate assembly called Eclipse.IntegrationTests.
Integrations
3rd parties
- Google API
- Telegram API
- EntraID
Tech stack
- ASP.NET 10
- Quartz
- Azure CosmosDb
- Polly
- Scrutor
- Serilog
- EFCore
- Redis
- Azure Application Insights
- MiniExcel
- ScottPlot
- Docker
- Terraform
Testing
- NSubstitute
- XUnit
- FluentAssertions (version 7.0.0, planned switching to Shouldly)
- Bogus
- Meziantou
- Testcontainers
Deployment and CI/CD
- GitHub actions
- Azure App Service
- Terraform
Terraform used for cloud provisioning.
PR policy
Includes build, test, and generate result and coverage reports steps, which will be attached as a comments by github-actions bot.
Requires ticket number in branch name.
Merge
Includes build, test, build docker image, and deploy to Azure App Service jobs. Uses Service Principal for deployment with RBAC access.
Installing Eclipse
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/DaniilPoiarkov/EclipseFAQ
Is Eclipse MCP free?
Yes, Eclipse MCP is free — one-click install via Unyly at no cost.
Does Eclipse need an API key?
No, Eclipse runs without API keys or environment variables.
Is Eclipse hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Eclipse in Claude Desktop, Claude Code or Cursor?
Open Eclipse on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Gmail
Read, send and search emails from Claude
by GoogleSlack
Send, search and summarize Slack messages
by SlackRunbear
No-code MCP client for team chat platforms, such as Slack, Microsoft Teams, and Discord.
Discord Server
A community discord server dedicated to MCP by [Frank Fiegel](https://github.com/punkpeye)
Compare Eclipse with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All communication MCPs
