CENTRO DE APOIO OPERACIONAL

MPPE cria núcleo para mediar conflitos de terra e garantir direito à moradia

A resolução destaca que o direito à moradia e o acesso à terra são direitos fundamentais que exigem uma resposta articulada

 

09/01/2026 - O Ministério Público de Pernambuco (MPPE) deu mais um passo para enfrentar a complexidade dos conflitos agrários e urbanos no Estado. Através da Resolução PGJ nº 31/2025, assinada pelo Procurador-Geral de Justiça José Paulo Xavier, foi instituído o Núcleo de Soluções Fundiárias (NUSF). O novo órgão nasce com a missão estratégica de promover a paz social e buscar saídas consensuais para as disputas coletivas de terra.

Vinculado ao Centro de Apoio Operacional às Promotorias de Justiça de Defesa da Cidadania (CAO Cidadania), o NUSF terá atuação em todo o território pernambucano e será coordenado pelo Promotor de Justiça Leonardo Caribé, que já atua na resolução de conflitos fundiários. A iniciativa responde a um diagnóstico do Grupo de Atuação Conjunta Especializada (GACE) Conflitos Fundiários, que apontou o crescimento de casos envolvendo remoções forçadas e ocupações desordenadas em áreas rurais e urbanas.

Diferente de uma atuação meramente litigiosa, o NUSF prioriza a mediação e a autocomposição. A resolução destaca que o direito à moradia e o acesso à terra são direitos fundamentais que exigem uma resposta articulada. O núcleo funcionará como uma central de inteligência, realizando o mapeamento contínuo de conflitos e monitorando ações judiciais para evitar a fragmentação do tratamento desses casos.

Segundo o texto da resolução, o objetivo é garantir que o Ministério Público atue de forma mais efetiva na defesa da ordem jurídica e dos interesses sociais, reconhecendo a função social da propriedade.

Entre as suas funções, destacam-se a realização de vistorias diretas nas áreas de conflito para elaboração de relatórios que instruirão processos judiciais e extrajudiciais; condução de audiências públicas e sessões de mediação para buscar soluções pacíficas antes de despejos ou reintegrações de posse, com a devida da anuência do promotor de Justiça natural; monitoramento da execução de programas de Habitação de Interesse Social (HIS) e de regularização fundiária; representação do MPPE junto ao Tribunal de Justiça de Pernambuco (TJPE), ao Conselho Nacional de Justiça (CNJ) e a órgãos de reforma agrária; e ativação de protocolos específicos em casos de graves violações aos direitos humanos.

O NUSF dará suporte técnico e jurídico aos promotores de Justiça de todo o Estado. Para casos de alta complexidade, o coordenador poderá solicitar a criação de um GACE para reforçar as investigações e ações.

O núcleo contará ainda com o suporte técnico da Gerência Executiva Ministerial de Apoio Técnico (GEMAT) e, quando necessário, do Grupo de Atuação Especial de Combate às Organizações Criminosas (GAECO) e do Núcleo de Inteligência (NIMPPE), assegurando que a análise dos conflitos seja acompanhada de dados precisos e segurança institucional.

Com a criação do NUSF, o MPPE alinha-se às diretrizes do Supremo Tribunal Federal (ADPF 828/DF) e do Conselho Nacional de Direitos Humanos, que recomendam que os despejos coletivos sejam precedidos de ampla mediação para mitigar impactos sociais sobre populações vulneráveis.

 

Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> fieldName.getValue().getString(locale)  [in template "20097#20123#687741" at line 123, column 60]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign dataNoticia = fieldName.getVa...  [in template "20097#20123#687741" at line 123, column 37]
----
1<style> 
2	 
3	  .noticias-recentes{ 
4	    background-color: #e5e5e5; 
5      padding: 16px 5px; 
6			margin:0px 10px; 
7			border-radius:5px; 
8
9	 
10		.noticias-recentes .tag-noticias{ 
11		 color:#7d1f0d; 
12		 text-transform:uppercase; 
13		font-weight:900; 
14		} 	 
15	.noticias-recentes .tag-noticias hr{ 
16		 width:60%; 
17		 margin-top:-3px; 
18		 border:solid #FF2F2F 2px; 
19		} 	 
20		.noticias-recentes .logo{ 
21		  width: 100%; 
22		  border-radius: 8px; 
23			height: 100px; 
24      background-position: center; 
25      background-repeat: no-repeat; 
26      background-size: cover; 
27
28		.noticias-recentes .noticia{ 
29		  position: relative; 
30			padding: 10px; 
31
32	 
33	.noticias-recentes .noticia:hover{ 
34		  position: relative; 
35			background: #fff; 
36      border-radius: 8px; 
37      scale: 1.02; 
38	    padding: 15px; 
39		  cursor:pointer; 
40		  transition: all ease-in 0.3s; 
41
42	.noticias-recentes .noticia .data-noticia{ 
43		color:#FF2F2F; 
44		font-size:20px; 
45		text-align:left !important; 
46
47	 
48	.noticias-recentes .noticia .title-desc .title{ 
49		  display: -webkit-box; 
50      margin: 0 auto; 
51      line-height: 1.4; 
52      -webkit-line-clamp: 4; 
53      -webkit-box-orient: vertical; 
54      overflow: hidden; 
55			text-overflow: ellipsis; 
56		  color:#474747; 
57		  font-weight: bold !important; 
58		font-size:20px; 
59
60	 
61	.noticias-recentes .description * { 
62    font-weight: 300 !important; 
63		background: transparent!important; 
64		font-size: initial!important; 
65		opacity:0.5; 
66		 display: -webkit-box; 
67      margin: 0 auto; 
68      line-height: 1.4; 
69      -webkit-line-clamp: 4; 
70      -webkit-box-orient: vertical; 
71      overflow: hidden; 
72			text-overflow: ellipsis; 
73		font-size:20px; 
74
75		.noticias-recentes .description p:first-child { 
76      display: -webkit-box; 
77      margin: 0 auto; 
78      line-height: 1.4; 
79      -webkit-line-clamp: 3; 
80      -webkit-box-orient: vertical; 
81      overflow: hidden; 
82			text-overflow: ellipsis; 
83			text-align: start !important; 
84			font-weight:900 !important; 
85
86		 
87		.noticias-recentes .description *:not(:first-child){ 
88		  display: none; 
89
90		 
91	</style> 
92 
93<#assign dlService=serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")> 
94    <#assign 
95        ddmFieldLocalService=serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMFieldLocalService") /> 
96 
97    <div class="noticias-recentes container"> 
98        <#if entries?has_content> 
99					<div class="tag-noticias pt-3 pb-2 pl-2"> 
100					<h4 class="font-weight-bold pl-2"> Mais Notícias </h4> 
101					<hr> 
102					</div> 
103					 
104                <#list entries as curEntry> 
105                        <#if curEntry.getClassName()=="com.liferay.journal.model.JournalArticle"> 
106                            <#assign assetRenderer=curEntry.getAssetRenderer() /> 
107                            <#assign journalArticle=assetRenderer.getAssetObject() /> 
108                            <#assign ddmStructure=journalArticle.getDDMStructure() /> 
109                            <#assign ddmForm=ddmStructure.getDDMForm() /> 
110                            <#assign ddmFormValues=ddmFieldLocalService.getDDMFormValues(ddmForm, journalArticle.getId()) /> 
111                            <#assign ddmFormFieldValues=ddmFormValues.getDDMFormFieldValues() /> 
112                            <#assign imageURL="/documents/" + curEntry.getGroupId() + "/" + curEntry.getEntryId() + "/" /> 
113                            <#assign titulo = "" /> 
114                            <#assign desc = "" /> 
115														<#assign jsonObj = "" /> 
116														<#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, curEntry) /> 
117														<#if assetLinkBehavior != "showFullContent" && assetRenderer.getURLViewInContext(renderRequest, renderResponse, viewURL)??> 
118																<#assign viewURL = assetRenderer.getURLViewInContext(renderRequest, renderResponse, viewURL) /> 
119														</#if> 
120													 
121                            <#list ddmFormFieldValues as fieldName>     
122                                <#if fieldName.getFieldReference()=='data'> 
123                                    <#assign dataNoticia = fieldName.getValue().getString(locale) />  
124																</#if> 
125																<#if fieldName.getFieldReference() == 'descricao'> 
126																	<#assign desc = fieldName.getValue().getString(locale) /> 
127																</#if> 
128                            </#list> 
129													<div class="noticia d-flex align-items-center flex-column mt-3 "> 
130														<a class="stretched-link" href="${viewURL}"></a> 
131														<p class="data-noticia w-100 d-block"> 
132															${dataNoticia?split("-")?reverse?join("/")} 
133														</p> 
134														<div class="title-desc">  
135															<h6 class="title">${curEntry.getTitle(locale)}</h6> 
136														  <div class="description mt-3"> ${desc}</div> 
137														</div> 
138													</div> 
139													<hr class="mt-2 mb-2"> 
140                        </#if> 
141                </#list> 
142            </div> 
143        </#if> 
144    </div>