E

EOxElements

@EOX-A/EOxElements
0 Stars 2 次浏览 EOX-A 更新于 2026-08-23

A server to provide information about EOxElements custom elements for coding agents.

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "@eox/elements-mcp-server": {
      "args": [
        "@eox/elements-mcp-server@1.1.0"
      ],
      "command": "npx"
    }
  }
}

Streamable HTTP 传输配置

{
  "mcpServers": {
    "EOxElements": {
      "type": "streamable-http",
      "url": "https://elements.mcp.eox.at"
    }
  }
}

可用工具 (5 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

tavily_search 14 个参数 需填 1 项

Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.

必填参数:query

tavily_extract 6 个参数 需填 1 项

Extract content from URLs. Returns raw page content in markdown or text format.

必填参数:urls

tavily_crawl 11 个参数 需填 1 项

Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.

必填参数:url

tavily_map 8 个参数 需填 1 项

Map a website's structure. Returns a list of URLs found starting from the base URL.

必填参数:url

tavily_research 2 个参数 需填 1 项

Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.

必填参数:input

服务介绍

EOxElements

A Web Component collection of geospatial UI elements, crafted by EOX.

# Documentation, Examples

Please find descriptions, API docs and interactive examples here.

# Elements

  • ⭕️ Alpha elements are in-development and may have many frequent breaking
    changes.
  • 🟡 Beta elements are mostly polished and ready for use, but may still have
    breaking changes.
  • Stable elements are reviewed, documented, and API complete.

# Usage

For detailed descriptions and documentation on the individual elements, please check out the READMEs in the element subfolders.

# # Bundlers (Vite, Webpack, etc.)

npm install @eox/<element>
import "@eox/<element>"
<eox-element></eox-element>

# # Script tag

<eox-element></eox-element>

<script type="module">
import "@eox/<element>" from "https://cdn.skypack.dev/@eox/<element>"
</script>

# Development

# # Branch naming convention

Inspired by [this article](https://betterprogramming.pub/enabling-monorepo-with-a-simple-single-github-repository-39bc6347abba# 391d).

Please name your branches <element>/<changetype>/<name>:

main
map/feature/new-feature
map/fix/some-fix
chart/feature/new-feature
chart/fix/some-fix
[...]

# # Initial Setup

In order to use npm workspaces and all the elements properly, please use Node.js >= 20.9.0 LTS.

Install all root and all element dependencies:

npm install

In general, it is recommended to perform all actions from the root level, not from the individual element folders. For example, if you want to build an element, use

npm run build -w @eox/<element-name>

Please refer to [the npm workspace docs](https://docs.npmjs.com/cli/v7/using-npm/workspaces# running-commands-in-the-context-of-workspaces) for more information.

# # Dev server

To start the storybook dev server, use:

npm start

This opens the storybook server on localhost (port 6006), where multiple element states can be used for development. Edit the corresponding element *.stories.js files to create and work on multiple states of an element.

# # Types

In order to generate all types output, use:

npm run types:generate:all

# # Test server

You can run individual tests by using the Cypress testing GUI. It offers access to a suite of configurations for each element via component tests, and E2E tests combining multiple elements.

# # # Component Tests

npm run cypress
- -> select Component Testing
- -> select a browser
- -> select a spec

# # # E2E Tests

End-to-end (E2E) Tests use the bundleded versions of the elements. In order to be able to run E2E tests for a specific element you need to build that element first, using the build or the watch (re-building on every change) command:

npm run watch -w <element>

To build/watch all elements, you can use:

npm run watch:all

Once the selected element(s) are built, you can run the corresponding tests in the Cypress GUI:

npm run cypress
- -> select E2E Testing
- -> select a browser
- -> select a spec

# # Run automated tests

Automated tests (component & E2E tests) are performed by the GitHub action triggered on each PR to main. You can trigger them locally by running:

npm run test:all // component & E2E
npm run test:component // only component tests
npm run test:e2e // only E2E test

Temember to build/watch all components before running E2E tests as specified above.

# # Useful commands

Format all elements:

npm run format:all

Lint/fix all elements:

npm run lint:all
npm run lint:fix:all

Type checking:

npm run types:generate:all
npm run typecheck

If you are using VS Code and the intellisense feature shows different errors than the CLI typecheck, you can set the following settings:

"typescript.tsdk": "./node_modules/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true,

If something does not work properly, sometimes it helps to clean the entire setup and delete all node modules to start fresh:

npm run clean
- -> deletes all node_module folders
npm install

# # Bootstrapping a new element

In essence, all what is needed is a new subfolder in the /elements directory. Additionally, it is recommended to also add the corresponding entries in preview.js (to have a centralized place for all the element imports into storybook) and release-please-config.json (for release automation). Some more recommendations include:

  • the preferred language for new elements is JS + JSDoc (for type checking with TypeScript)
  • the preferred bundler is Vite
  • component tests (done via Cypress) should only test the specific element, everything else is ideally mocked
  • if needed, webcomponent-creating frameworks such as lit are handy

Some things are handled by the root "system":

  • testing (centralized Cypress setup, automatically looking for *.cy.js files inside elements subfolder)
  • linting & formatting (scripts in root package.json - see section above)
  • storybook (centralized Storybook setup, automatically looking for *.stories.js files inside elements subfolder)

# Previous versions

The main branch of this project contains the v2 version of EOxElements. For the (legacy) v1 EOxElements, please see the v1 branch.

相关 MCP 服务