llmagentcpp type: concept 创建: 2026-04-20 更新: 2026-04-20

MCP System (Model Context Protocol)

Overview

MCP (Model Context Protocol) 让 LLM 能够调用 Fincept Terminal 的原生工具。系统包含:

  • 外部 MCP Server: McpManager 管理生命周期
  • 37 个内置 Tool: 覆盖市场/新闻/Portfolio/交易等

McpManager

class McpManager : public QObject {
    static McpManager& instance();

    void initialize();  // 从 McpServerRepository 加载配置
    Result<void> save_server(const McpServerConfig& config);
    Result<void> remove_server(const QString& id);
    std::vector<McpServerConfig> get_servers() const;

    Result<void> start_server(const QString& id);
    Result<void> stop_server(const QString& id);
    Result<void> restart_server(const QString& id);
    void start_auto_servers();
    void stop_all();
    void shutdown();

    void start_health_check(int interval_seconds = 60);
    void stop_health_check();

    std::vector<ExternalTool> get_all_external_tools();
    Result<QJsonObject> call_external_tool(const QString& server_id, const QString& tool_name, const QJsonObject& args);

    signals:
    void servers_changed();
};

ToolResult

struct ToolResult {
    bool success = false;
    QJsonValue data;
    QString message;
    QString error;

    static ToolResult ok(const QString& msg, const QJsonValue& data = QJsonValue());
    static ToolResult ok_data(const QJsonValue& data);
    static ToolResult fail(const QString& err);
};

37 MCP Tools

位于 src/mcp/tools/:

CategoryTools
AI ChatAiChatTools
Alt InvestmentsAltInvestmentsTools
Crypto TradingCryptoTradingTools
DataHubDataHubTools
Data SourcesDataSourcesTools
Edgar/SECEdgarTools
ExchangeExchangeTools
File ManagerFileManagerTools
ForumForumTools
MA AnalyticsMAAnalyticsTools
Market DataMarketDataTools
MarketsMarketsTools
NavigationNavigationTools
NewsNewsTools
NotesNotesTools
Paper TradingPaperTradingTools
PortfolioPortfolioTools, PortfolioManagementTools, PortfolioToolsExt
ProfileProfileTools
PythonPythonTools
SettingsSettingsTools
SystemSystemTools
TradingTradingTools
WatchlistWatchlistTools