---
title: search_fields
description: Find fields and constants using direct PE metadata parsing.
---
import { Aside, Tabs, TabItem } from "@astrojs/starlight/components";
Metadata
Search for fields in an assembly by name pattern. This tool reads the Field metadata table directly using dnfile -- no ilspycmd required. Results include type information, visibility modifiers, and literal values for constants.
## Parameters
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `assembly_path` | `string` | Yes | -- | Full path to the .NET assembly (.dll or .exe) |
| `pattern` | `string` | Yes | -- | Search pattern to match against field names |
| `type_filter` | `string \| null` | No | `null` | Only search fields in types containing this string |
| `namespace_filter` | `string \| null` | No | `null` | Only search in namespaces containing this string |
| `public_only` | `bool` | No | `false` | Only return public fields |
| `constants_only` | `bool` | No | `false` | Only return constant (literal) fields |
| `case_sensitive` | `bool` | No | `false` | Whether pattern matching is case-sensitive |
| `use_regex` | `bool` | No | `false` | Treat pattern as a regular expression |
## Example
```json
{
"tool": "search_fields",
"arguments": {
"assembly_path": "/path/to/MyApp.dll",
"pattern": "Key",
"constants_only": true
}
}
```
```python
result = await client.call_tool("search_fields", {
"assembly_path": "/path/to/MyApp.dll",
"pattern": "Key",
"constants_only": True,
})
```
## Response
Fields grouped by declaring type, each showing modifiers (`public`, `static`, `const`) and field name. Results support pagination via `max_results` and `offset` parameters.
## Related Tools
- [`search_methods`](/reference/tools/search-methods/) -- find methods by name pattern
- [`search_strings`](/reference/tools/search-strings/) -- search string literals in the #US heap
- [`get_metadata_summary`](/reference/tools/get-metadata-summary/) -- assembly-level statistics