io.github.cr7258/elasticsearch-mcp-server
MCP server for interacting with Elasticsearch
io.github.cr7258/elasticsearch-mcp-server · Repository · version 2.0.15 · 303 stars · listed from registry
Install
The sweep installs into a clean prefix, but this is the command a user would run:
uvx elasticsearch-mcp-server
Results by platform
Linux
MCP handshake failed2026-08-16 · probed over pypi1 recorded run, oldest first.
handshake failed: MCP error -32000: Connection closed
--- stderr (tail) ---
Installed 51 packages in 15ms
Traceback (most recent call last):
File "/home/runner/.cache/uv/archive-v0/bJ6tQ0zdG_sxVwo-/bin/elasticsearch-mcp-server", line 6, in <module>
from src.server import elasticsearch_mcp_server
File "/home/runner/.cache/uv/archive-v0/bJ6tQ0zdG_sxVwo-/lib/python3.13/site-packages/src/__init__.py", line 4, in <module>
from src.server import elasticsearch_mcp_server, opensearch_mcp_server, run_search_server
File "/home/runner/.cache/uv/archive-v0/bJ6tQ0zdG_sxVwo-/lib/python3.13/site-packages/src/server.py", line 5, in <module>
from fastmcp import FastMCP
File "/home/runner/.cache/uv/archive-v0/bJ6tQ0zdG_sxVwo-/lib/python3.13/site-packages/fastmcp/__init__.py", line 4, in <module>
from fastmcp.settings import Settings
File "/home/runner/.cache/uv/archive-v0/bJ6tQ0zdG_sxVwo-/lib/python3.13/site-packages/fastmcp/settings.py", line 56, in <module>
class Settings(BaseSettings):
...<205 lines>...
] = None
File "/home/runner/.cache/uv/archive-v0/bJ6tQ0zdG_sxVwo-/lib/python3.13/site-packages/pydantic/_internal/_model_construction.py", line 243, in __new__
set_model_fields(cls, config_wrapper=config_wrapper, ns_resolver=ns_resolver)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/.cache/uv/archive-v0/bJ6tQ0zdG_sxVwo-/lib/python3.13/site-packages/pydantic/_internal/_model_construction.py", line 579, in set_model_fields
fields, pydantic_extra_info, class_vars = collect_model_fields(
~~~~~~~~~~~~~~~~~~~~^
cls, config_wrapper, ns_resolver, typevars_map=typevars_map
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/home/runner/.cache/uv/archive-v0/bJ6tQ0zdG_sxVwo-/lib/python3.13/site-packages/pydantic/_internal/_fields.py", line 381, in collect_model_fields
field_info = FieldInfo_.from_annotated_attribute(ann_type, assigned_value, _source=AnnotationSource.CLASS)
File "/home/runner/.cache/uv/archive-v0/bJ6tQ0zdG_sxVwo-/lib/python3.13/site-packages/pydantic/fields.py", line 472, in from_annotated_attribute
field_info = FieldInfo._construct(
prepend_metadata + metadata if prepend_metadata is not None else metadata, **attr_overrides
)
File "/home/runner/.cache/uv/archive-v0/bJ6tQ0zdG_sxVwo-/lib/python3.13/site-packages/pydantic/fields.py", line 567, in _construct
merged_field_info = cls(**merged_kwargs)
File "/home/runner/.cache/uv/archive-v0/bJ6tQ0zdG_sxVwo-/lib/python3.13/site-packages/pydantic/fields.py", line 252, in __init__
raise TypeError('cannot specify both default and default_factory')
TypeError: cannot specify both default and default_factory
macOS
MCP handshake failed2026-08-16 · probed over pypi1 recorded run, oldest first.
handshake failed: MCP error -32000: Connection closed
--- stderr (tail) ---
Installed 51 packages in 563ms
Traceback (most recent call last):
File "/Users/runner/.cache/uv/archive-v0/ufjVtIZ3fmskMHGS/bin/elasticsearch-mcp-server", line 6, in <module>
from src.server import elasticsearch_mcp_server
File "/Users/runner/.cache/uv/archive-v0/ufjVtIZ3fmskMHGS/lib/python3.14/site-packages/src/__init__.py", line 4, in <module>
from src.server import elasticsearch_mcp_server, opensearch_mcp_server, run_search_server
File "/Users/runner/.cache/uv/archive-v0/ufjVtIZ3fmskMHGS/lib/python3.14/site-packages/src/server.py", line 5, in <module>
from fastmcp import FastMCP
File "/Users/runner/.cache/uv/archive-v0/ufjVtIZ3fmskMHGS/lib/python3.14/site-packages/fastmcp/__init__.py", line 4, in <module>
from fastmcp.settings import Settings
File "/Users/runner/.cache/uv/archive-v0/ufjVtIZ3fmskMHGS/lib/python3.14/site-packages/fastmcp/settings.py", line 56, in <module>
class Settings(BaseSettings):
...<205 lines>...
] = None
File "/Users/runner/.cache/uv/archive-v0/ufjVtIZ3fmskMHGS/lib/python3.14/site-packages/pydantic/_internal/_model_construction.py", line 243, in __new__
set_model_fields(cls, config_wrapper=config_wrapper, ns_resolver=ns_resolver)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/runner/.cache/uv/archive-v0/ufjVtIZ3fmskMHGS/lib/python3.14/site-packages/pydantic/_internal/_model_construction.py", line 579, in set_model_fields
fields, pydantic_extra_info, class_vars = collect_model_fields(
~~~~~~~~~~~~~~~~~~~~^
cls, config_wrapper, ns_resolver, typevars_map=typevars_map
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/runner/.cache/uv/archive-v0/ufjVtIZ3fmskMHGS/lib/python3.14/site-packages/pydantic/_internal/_fields.py", line 381, in collect_model_fields
field_info = FieldInfo_.from_annotated_attribute(ann_type, assigned_value, _source=AnnotationSource.CLASS)
File "/Users/runner/.cache/uv/archive-v0/ufjVtIZ3fmskMHGS/lib/python3.14/site-packages/pydantic/fields.py", line 472, in from_annotated_attribute
field_info = FieldInfo._construct(
prepend_metadata + metadata if prepend_metadata is not None else metadata, **attr_overrides
)
File "/Users/runner/.cache/uv/archive-v0/ufjVtIZ3fmskMHGS/lib/python3.14/site-packages/pydantic/fields.py", line 567, in _construct
merged_field_info = cls(**merged_kwargs)
File "/Users/runner/.cache/uv/archive-v0/ufjVtIZ3fmskMHGS/lib/python3.14/site-packages/pydantic/fields.py", line 252, in __init__
raise TypeError('cannot specify both default and default_factory')
TypeError: cannot specify both default and default_factory
Windows
MCP handshake failed2026-08-16 · probed over pypi1 recorded run, oldest first.
handshake failed: MCP error -32000: Connection closed
--- stderr (tail) ---
Installed 52 packages in 14.14s
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\85uuF5711Ga-C4Qa\Scripts\elasticsearch-mcp-server.exe\__main__.py", line 4, in <module>
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\85uuF5711Ga-C4Qa\Lib\site-packages\src\__init__.py", line 4, in <module>
from src.server import elasticsearch_mcp_server, opensearch_mcp_server, run_search_server
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\85uuF5711Ga-C4Qa\Lib\site-packages\src\server.py", line 5, in <module>
from fastmcp import FastMCP
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\85uuF5711Ga-C4Qa\Lib\site-packages\fastmcp\__init__.py", line 4, in <module>
from fastmcp.settings import Settings
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\85uuF5711Ga-C4Qa\Lib\site-packages\fastmcp\settings.py", line 56, in <module>
class Settings(BaseSettings):
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\85uuF5711Ga-C4Qa\Lib\site-packages\pydantic\_internal\_model_construction.py", line 243, in __new__
set_model_fields(cls, config_wrapper=config_wrapper, ns_resolver=ns_resolver)
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\85uuF5711Ga-C4Qa\Lib\site-packages\pydantic\_internal\_model_construction.py", line 579, in set_model_fields
fields, pydantic_extra_info, class_vars = collect_model_fields(
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\85uuF5711Ga-C4Qa\Lib\site-packages\pydantic\_internal\_fields.py", line 381, in collect_model_fields
field_info = FieldInfo_.from_annotated_attribute(ann_type, assigned_value, _source=AnnotationSource.CLASS)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\85uuF5711Ga-C4Qa\Lib\site-packages\pydantic\fields.py", line 472, in from_annotated_attribute
field_info = FieldInfo._construct(
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\85uuF5711Ga-C4Qa\Lib\site-packages\pydantic\fields.py", line 567, in _construct
merged_field_info = cls(**merged_kwargs)
^^^^^^^^^^^^^^^^^^^^
File "C:\Users\runneradmin\AppData\Local\uv\cache\archive-v0\85uuF5711Ga-C4Qa\Lib\site-packages\pydantic\fields.py", line 252, in __init__
raise TypeError('cannot specify both default and default_factory')
TypeError: cannot specify both default and default_factory
Badge
Paste this into the project README to show the current result:
[](https://doesitinstall.com/s/io.github.cr7258__elasticsearch-mcp-server.html)